Cant install OpenSpecFun_jll

Can you please provide more information? Operating system? File system? Julia version?

1 Like

Cluster Linux RedHat, version Julia 1.3.0

File system?

1 Like

How do I find this info?

Run this command in the terminal. Look for the partition where your home directory is

df -hT

sisyphus-n.chicagobooth.edu:/ifs/home/staff/fratnasamy
nfs 411T 260T 140T 66% /home/fratnasamy

I am putting the whole error message:

julia> Pkg.add("Flux")
  Updating registry at `~/.julia/registries/General`
┌ Warning: Some registries failed to update:
│     — `~/.julia/registries/General` — registry dirty
└ @ Pkg.Types /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Types.jl:1199
 Resolving package versions...
┌ Error: Tree Hash Mismatch!
│   Expected git-tree-sha1:   0fd0fb67de786e5d7b2eb67181d35e4bcab639cf
│   Calculated git-tree-sha1: b5dfbf709a492a96aa4dcaf46616293ce08b7eab
└ @ Pkg.Artifacts /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Artifacts.jl:779
ERROR: Unable to automatically install 'CompilerSupportLibraries' from '/home/fratnasamy/.julia/packages/CompilerSupportLibraries_jll/kmL78/Artifacts.toml'
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] #ensure_artifact_installed#42(::Pkg.BinaryPlatforms.Platform, ::Bool, ::typeof(Pkg.Artifacts.ensure_artifact_installed), ::String, ::Dict{String,Any}, ::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Artifacts.jl:873
 [3] (::Pkg.Artifacts.var"#kw##ensure_artifact_installed")(::NamedTuple{(:platform, :verbose),Tuple{Pkg.BinaryPlatforms.Linux,Bool}}, ::typeof(Pkg.Artifacts.ensure_artifact_installed), ::String, ::Dict{String,Any}, ::String) at ./none:0
 [4] #ensure_all_artifacts_installed#43(::Pkg.BinaryPlatforms.Platform, ::Nothing, ::Bool, ::Bool, ::typeof(Pkg.Artifacts.ensure_all_artifacts_installed), ::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Artifacts.jl:919
 [5] #ensure_all_artifacts_installed at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Operations.jl:0 [inlined]
 [6] #download_artifacts#78(::Pkg.BinaryPlatforms.Linux, ::Bool, ::typeof(Pkg.Operations.download_artifacts), ::Array{String,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Operations.jl:580
 [7] #download_artifacts at ./none:0 [inlined]
 [8] #download_artifacts#73(::Pkg.BinaryPlatforms.Linux, ::Bool, ::typeof(Pkg.Operations.download_artifacts), ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Operations.jl:570
 [9] (::Pkg.Operations.var"#kw##download_artifacts")(::NamedTuple{(:platform,),Tuple{Pkg.BinaryPlatforms.Linux}}, ::typeof(Pkg.Operations.download_artifacts), ::Array{Pkg.Types.PackageSpec,1}) at ./none:0
 [10] #add#112(::Bool, ::Pkg.BinaryPlatforms.Linux, ::typeof(Pkg.Operations.add), ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Array{Base.UUID,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Operations.jl:1017
 [11] #add at ./none:0 [inlined]
 [12] #add#25(::Bool, ::Pkg.BinaryPlatforms.Linux, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Pkg.API.add), ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:102
 [13] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:72
 [14] #add#24 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:69 [inlined]
 [15] add at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:69 [inlined]
 [16] #add#21 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:67 [inlined]
 [17] add at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:67 [inlined]
 [18] #add#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Pkg.API.add), ::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:66
 [19] add(::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:66
 [20] top-level scope at REPL[5]:1

Ok, let’s try this. Run the following commands in the terminal

mkdir -p ~/.julia/artifacts/0fd0fb67de786e5d7b2eb67181d35e4bcab639cf
wget -O - https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl/releases/download/CompilerSupportLibraries-v0.3.3+0/CompilerSupportLibraries.v0.3.3.x86_64-linux-gnu-libgfortran4.tar.gz | tar -xzvf - -C ~/.julia/artifacts/0fd0fb67de786e5d7b2eb67181d35e4bcab639cf

This should manually install the tarball

Should I install the package after that?

Yes

I am getting similar error with another library when I try to install the package Flux
Error: Tree Hash Mismatch!
│ Expected git-tree-sha1: 01ecba70fa7a3cf6a8422cb69b86ff88638e3b5d
│ Calculated git-tree-sha1: 2d0a5a9555c9ba59915b4ad159036b5b7ed5f169
└ @ Pkg.Artifacts /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Artifacts.jl:779
ERROR: Unable to automatically install ‘Zlib’ from ‘/home/fratnasamy/.julia/packages/Zlib_jll/Uffa4/Artifacts.toml’

I am installing with Pkg.add(“Flux”)

Any chance of using Julia v1.4? There have been some problems in v1.3.0 that have been later fixed. If you can use that we can understand better what’s the problem here, but I suspect the filesystem might be the culprit.

After installation of Julia 1-4.1, I am getting a similar error when

Pkg.add("Flux")
Downloading artifact: OpenSpecFun
######################################################################## 100.0%
┌ Error: Tree Hash Mismatch!
│   Expected git-tree-sha1:   846b9ab259c1612b851f8b59bc3658997e23ff57
│   Calculated git-tree-sha1: 4cb631f557b8448ba23cc01f18d7c306d13bcbef
Downloading artifact: OpenSpecFun
######################################################################## 100.0%
┌ Error: Tree Hash Mismatch!
│   Expected git-tree-sha1:   846b9ab259c1612b851f8b59bc3658997e23ff57
│   Calculated git-tree-sha1: 4cb631f557b8448ba23cc01f18d7c306d13bcbef
ERROR: Unable to automatically install 'OpenSpecFun' from '/home/fratnasamy/.julia/packages/OpenSpecFun_jll/HMSwk/Artifacts.toml'
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] ensure_artifact_installed(::String, ::Dict{String,Any}, ::String; platform::Pkg.BinaryPlatforms.Platform, verbose::Bool, quiet_download::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/Artifacts.jl:894
 [3] ensure_all_artifacts_installed(::String; platform::Pkg.BinaryPlatforms.Platform, pkg_uuid::Nothing, include_lazy::Bool, verbose::Bool, quiet_download::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/Artifacts.jl:958
 [4] download_artifacts(::Pkg.Types.Context, ::Array{String,1}; platform::Pkg.BinaryPlatforms.Linux, verbose::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/Operations.jl:616
 [5] download_artifacts(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; platform::Pkg.BinaryPlatforms.Linux, verbose::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/Operations.jl:595
 [6] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Array{Base.UUID,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.Linux) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/Operations.jl:1091
 [7] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.Linux, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:159
 [8] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:112
 [9] #add#27 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:109 [inlined]
 [10] add at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:109 [inlined]
 [11] #add#24 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:107 [inlined]
 [12] add at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:107 [inlined]
 [13] add(::String; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:106
 [14] add(::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:106
 [15] top-level scope at REPL[2]:1

How can I solve it? During installation and before the error pops up, it said
Installed OpenSpecFun_jll ────────────── v0.5.3+3
If filesystem is culprit, what needs to be done?

For some reason, the computation of the git-tree-sha1 is not correct for many packages in Julia.
I was able to install OpenSpecFun_jll manually with creating a folder (named with the git tree sha1 # expected 846b9ab259c1612b851f8b59bc3658997e23ff57) and install the package in that folder from github:

johndoe@mcn19: mkdir –p ~/.julia/artifacts/846b9ab259c1612b851f8b59bc3658997e23ff57
johndoe@mcn19: wget -O - https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/releases/download/OpenSpecFun-v0.5.3%2B3/OpenSpecFun.v0.5.3.x86_64-linux-gnu-libgfortran4.tar.gz | tar - xzvf -  - C ~/.julia/artifacts/846b9ab259c1612b851f8b59bc3658997e23ff57

You can find all the releases of OpenSpecFun_jll here Releases · JuliaBinaryWrappers/OpenSpecFun_jll.jl · GitHub,
select the package based on your Linux architecture (it is very important to download the package specific to the Linux arch, use this following lines in Julia to find your Linux Arch)

julia> using Pkg.BinaryPlatforms
julia> triplet(platform_key_abi())
"x86_64-linux-gnu-libgfortran4-cxx11"

Is there a solution to avoid this manual tuning of Tree Hash for Julia package installation?
I had to repeat similar steps for theses following packages (CompilerSupportLibrairies, ZLib in addition of OpenSpecfun) in order to install and use the package Flux.

The installation occured on a Red Hat Linux Cluster x86_64 arch with NFS file system. According to Giordano, filesystem might be the culprit, is there any test to find out if filesystem is the root cause of the mismatch Hash Tree error?

Hi
I met the same problem that unable to automatically install ‘OpenSpecFun’ and I try these commands, then I receive:
curl: (56) OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 104
Any idea on how to fix this?

Hi, Fritz_Ratnasamy:
I met the same problem with you, and I was able to install OpenSpecFun_jll manually follow your steps (I can’t use the wget or curl command, it always return an error like " Unable to establish SSL connection" or “Error 403: Forbidden” , I use Firefox to download this package directly and unzip it to the specified folder manually).
Now, I also need to download other packages, such as OpenBLAS and so on. So under which folder should I unzip these packages, how to name them correctly?

if you are not able to use wget, just download the file manually and use tar -xvf downloaded_package_jll that should work as well (I guess that is what you done, fyi I use google chrome but I don think the issue you have is web browser related).
If i run into the tree hash mismatch error, then I usually created a folder in ~/.julia/Artifacts/folder_number_name where folder_number is equal to the hash tree number expected from the error message. I unzip at that location.

Sorry, I am a beginner, I don’t quite understand what you mean by the “hash tree”, the error message I received is this:

jkwwwwow@jkwwwwow:~$ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.4.2 (2020-05-23)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> import Pkg

julia> Pkg.add("POMDPSimulators")
   Updating registry at `~/.julia/registries/General`
   Updating git-repo `https://github.com/JuliaRegistries/General.git`
  Resolving package versions...
Downloading artifact: OpenBLAS
######################################################################## 100.0%-                                                                           1.0%
ERROR: Unable to automatically install 'OpenBLAS' from '/home/jkwwwwow/.julia/packages/OpenBLAS_jll/rnsmb/Artifacts.toml'
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] ensure_artifact_installed(::String, ::Dict{String,Any}, ::String; platform::Pkg.BinaryPlatforms.Platform, verbose::Bool, quiet_download::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/Artifacts.jl:894
 [3] ensure_all_artifacts_installed(::String; platform::Pkg.BinaryPlatforms.Platform, pkg_uuid::Nothing, include_lazy::Bool, verbose::Bool, quiet_download::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/Artifacts.jl:958
 [4] download_artifacts(::Pkg.Types.Context, ::Array{String,1}; platform::Pkg.BinaryPlatforms.Linux, verbose::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/Operations.jl:616
 [5] download_artifacts(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; platform::Pkg.BinaryPlatforms.Linux, verbose::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/Operations.jl:595
 [6] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Array{Base.UUID,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.Linux) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/Operations.jl:1091
 [7] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.Linux, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:159
 [8] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:112
 [9] #add#27 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:109 [inlined]
 [10] add at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:109 [inlined]
 [11] #add#24 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:107 [inlined]
 [12] add at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:107 [inlined]
 [13] add(::String; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:106
 [14] add(::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:106
 [15] top-level scope at REPL[2]:1 

Was a hash tree number found out for this error message?

YEs actually there is no hash tree error in your error message. Try to contact Giordano (he is in the previous messages on this thread.) I am also a beginner in Julia so cant help you.