Cant install OpenSpecFun_jll

When I install JuMP I get the following error. Any idea on how to fix this?

Installed OpenSpecFun_jll ──── v0.5.3+1
ERROR: Unable to automatically install 'OpenSpecFun' from '/homes2/ivw/kendzior/.julia/packages/OpenSpecFun_jll/XrUb6/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] do_add!(::Dict{Symbol,Any}, ::Array{Pkg.Types.PackageSpec,1}, ::Dict{Symbol,Any}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/REPLMode.jl:505
 [15] #invokelatest#1(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Base.invokelatest), ::Any, ::Any, ::Vararg{Any,N} where N) at ./essentials.jl:709
 [16] invokelatest(::Any, ::Any, ::Vararg{Any,N} where N) at ./essentials.jl:708
 [17] do_cmd!(::Pkg.REPLMode.Command, ::REPL.LineEditREPL) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/REPLMode.jl:412
 [18] #do_cmd#23(::Bool, ::typeof(Pkg.REPLMode.do_cmd), ::REPL.LineEditREPL, ::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/REPLMode.jl:391
 [19] do_cmd at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/REPLMode.jl:387 [inlined]
 [20] (::Pkg.REPLMode.var"#28#31"{REPL.LineEditREPL,REPL.LineEdit.Prompt})(::REPL.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/REPLMode.jl:619
 [21] #invokelatest#1 at ./essentials.jl:709 [inlined]
 [22] invokelatest at ./essentials.jl:708 [inlined]
 [23] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/REPL/src/LineEdit.jl:2306
 [24] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/REPL/src/REPL.jl:1045
 [25] run_repl(::REPL.AbstractREPL, ::Any) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/REPL/src/REPL.jl:201
 [26] (::Base.var"#770#772"{Bool,Bool,Bool,Bool})(::Module) at ./client.jl:382
 [27] #invokelatest#1 at ./essentials.jl:709 [inlined]
 [28] invokelatest at ./essentials.jl:708 [inlined]
 [29] run_main_repl(::Bool, ::Bool, ::Bool, ::Bool, ::Bool) at ./client.jl:366
 [30] exec_options(::Base.JLOptions) at ./client.jl:304
 [31] _start() at ./client.jl:460

julia> versioninfo()
Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)

Could you please try to run the following command?

using Pkg.PlatformEngines
probe_platform_engines!(verbose=true)
mktempdir() do dir
    download_verify(
        "https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/releases/download/OpenSpecFun-v0.5.3+1/OpenSpecFun.v0.5.3.x86_64-linux-gnu-libgfortran3.tar.gz",
        "1eb16d69bf7c6b1cfe0eaae51cd932b13917a5ae05ed4629090ae695ecd074a8",
        joinpath(dir, "foo");
        verbose=true,
	)
end

Thanks for the answer. Then I receive:

[ Info: Downloading https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/releases/download/OpenSpecFun-v0.5.3+1/OpenSfortran3.tar.gz to /tmp/jl_DX8eXx/foo...

curl: (77) Error reading ca cert file /etc/ssl/certs/ca-certificates.crt - mbedTLS: (-0x3E00) PK - Read/write of file fail
ERROR: Could not download https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/releases/download/OpenSpecFun-v0.5.3+1u-libgfortran3.tar.gz to /tmp/jl_DX8eXx/foo:
ProcessFailedException(Base.Process[Process(`curl -C - '-#' -f -o /tmp/jl_DX8eXx/foo -L https://github.com/JuliaBinaryWrapwnload/OpenSpecFun-v0.5.3+1/OpenSpecFun.v0.5.3.x86_64-linux-gnu-libgfortran3.tar.gz`, ProcessExited(77))])
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] #download#82(::Bool, ::typeof(Pkg.PlatformEngines.download), ::String, ::String) at /buildworker/worker/package_linux3/Pkg/src/PlatformEngines.jl:591
 [3] #download at ./none:0 [inlined]
 [4] #download_verify#83(::Bool, ::Bool, ::Bool, ::typeof(download_verify), ::String, ::String, ::String) at /buildworker/are/julia/stdlib/v1.3/Pkg/src/PlatformEngines.jl:642
 [5] #download_verify at ./none:0 [inlined]
 [6] #3 at ./REPL[3]:2 [inlined]
 [7] #mktempdir#18(::String, ::typeof(mktempdir), ::var"#3#4", ::String) at ./file.jl:634
 [8] mktempdir(::Function, ::String) at ./file.jl:632 (repeats 2 times)
 [9] top-level scope at REPL[3]:1
caused by [exception 1]
failed process: Process(`curl -C - '-#' -f -o /tmp/jl_DX8eXx/foo -L https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll0.5.3+1/OpenSpecFun.v0.5.3.x86_64-linux-gnu-libgfortran3.tar.gz`, ProcessExited(77)) [77]

Stacktrace:
 [1] pipeline_error at ./process.jl:525 [inlined]
 [2] #run#565(::Bool, ::typeof(run), ::Cmd, ::Tuple{Base.DevNull,Base.TTY,Base.TTY}) at ./process.jl:440
 [3] run(::Cmd, ::Tuple{Base.DevNull,Base.TTY,Base.TTY}) at ./process.jl:438
 [4] #download#82(::Bool, ::typeof(Pkg.PlatformEngines.download), ::String, ::String) at /buildworker/worker/package_linux3/Pkg/src/PlatformEngines.jl:586
 [5] #download at ./none:0 [inlined]
 [6] #download_verify#83(::Bool, ::Bool, ::Bool, ::typeof(download_verify), ::String, ::String, ::String) at /buildworker/are/julia/stdlib/v1.3/Pkg/src/PlatformEngines.jl:642
 [7] #download_verify at ./none:0 [inlined]
 [8] #3 at ./REPL[3]:2 [inlined]
 [9] #mktempdir#18(::String, ::typeof(mktempdir), ::var"#3#4", ::String) at ./file.jl:634
 [10] mktempdir(::Function, ::String) at ./file.jl:632 (repeats 2 times)
 [11] top-level scope at REPL[3]:1

I also had some trouble installing other packages because some files could not be downloaded. A way to fix it was to download it manually and copy paste it. However, here I dont know where to put the downloaded file…

It looks like you have this error:
https://askubuntu.com/q/636962/211014
? What are the permissions of /etc/ssl/certs/ca-certificates.crt? You can check with

ls -l /etc/ssl/certs/ca-certificates.crt

I get:

[kendzior@cluster-i ~]$ ls -l /etc/ssl/certs/ca-certificates.crt
ls: cannot access /etc/ssl/certs/ca-certificates.crt: No such file or directory

Well, then it looks like you have some problems with your curl installation.

1 Like

I contacted the system admin. It was indeed a problem with the curl installation. Everything works as expected now. Thanks a lot for the help!

Hi,
I also got ERROR: Unable to automatically install ‘OpenSpecFun’ while installed FlashWeave.
May be the same curl installation problem.
I tried the command “using Pkg.PlatformEngines
probe_platform_engines!(verbose=true)
mktempdir() do dir
download_verify(
https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/releases/download/OpenSpecFun-v0.5.3+1/OpenSpecFun.v0.5.3.x86_64-linux-gnu-libgfortran3.tar.gz”,
“1eb16d69bf7c6b1cfe0eaae51cd932b13917a5ae05ed4629090ae695ecd074a8”,
joinpath(dir, “foo”);
verbose=true,
)
end”
still doens’t work. How can I solve this problem?
Appreciate your help.

That command shouldn’t fix anything, just provide more information about the issue. Did you get more insight about what’s the problem? Could you please post the output of the command quoting the code?

1 Like

Hi,
After I installed FlashWeave, I got the following error:

(v1.3) pkg> add FlashWeave
Updating registry at C:\Users\user\.julia\registries\General
Updating git-repo https://github.com/JuliaRegistries/General.git
Resolving package versions…
Updating git-repo https://github.com/JuliaBinaryWrappers/OpenBLAS_jll.jl.git

Installed OpenBLAS_jll ──────── v0.3.7+7
Updating git-repo https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl.g it
Installed OpenSpecFun_jll ── v0.5.3+3
Updating git-repo https://github.com/JuliaIO/FileIO.jl.git
Installed FileIO ──────────────────── v1.2.3
ERROR: Unable to automatically install ‘OpenSpecFun’ from ‘C:\Users\user.julia
packages\OpenSpecFun_jll\HMSwk\Artifacts.toml’
Stacktrace:
[1] error(::String) at .\error.jl:33
[2] #ensure_artifact_installed#42(::Pkg.BinaryPlatforms.Platform, ::Bool, ::typ
eof(Pkg.Artifacts.ensure_artifact_installed), ::String, ::Dict{String,Any}, ::St
ring) at D:\buildbot\worker\package_win32\build\usr\share\julia\stdlib\v1.3\Pkg
src\Artifacts.jl:873
[3] (::Pkg.Artifacts.var"#kw##ensure_artifact_installed")(::NamedTuple{(:platfo
rm, :verbose),Tuple{Pkg.BinaryPlatforms.Windows,Bool}}, ::typeof(Pkg.Artifacts.e
nsure_artifact_installed), ::String, ::Dict{String,Any}, ::String) at .\none:0
[4] #ensure_all_artifacts_installed#43(::Pkg.BinaryPlatforms.Platform, ::Nothin
g, ::Bool, ::Bool, ::typeof(Pkg.Artifacts.ensure_all_artifacts_installed), ::Str
ing) at D:\buildbot\worker\package_win32\build\usr\share\julia\stdlib\v1.3\Pkg\s
rc\Artifacts.jl:919
[5] #ensure_all_artifacts_installed at D:\buildbot\worker\package_win32\build\u
sr\share\julia\stdlib\v1.3\Pkg\src\Operations.jl:0 [inlined]
[6] #download_artifacts#78(::Pkg.BinaryPlatforms.Windows, ::Bool, ::typeof(Pkg.
Operations.download_artifacts), ::Array{String,1}) at D:\buildbot\worker\package
_win32\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.Windows, ::Bool, ::typeof(Pkg.
Operations.download_artifacts), ::Array{Pkg.Types.PackageSpec,1}) at D:\buildbot
\worker\package_win32\build\usr\share\julia\stdlib\v1.3\Pkg\src\Operations.jl:57
0
[9] (::Pkg.Operations.var"#kw##download_artifacts")(::NamedTuple{(:platform,),T
uple{Pkg.BinaryPlatforms.Windows}}, ::typeof(Pkg.Operations.download_artifacts),
::Array{Pkg.Types.PackageSpec,1}) at .\none:0
[10] #add#112(::Bool, ::Pkg.BinaryPlatforms.Windows, ::typeof(Pkg.Operations.ad
d), ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Array{Base.UUID,1})
at D:\buildbot\worker\package_win32\build\usr\share\julia\stdlib\v1.3\Pkg\src\O
perations.jl:1017
[11] #add at D:\buildbot\worker\package_win32\build\usr\share\julia\stdlib\v1.3
\Pkg\src\API.jl:0 [inlined]
[12] #add#25(::Bool, ::Pkg.BinaryPlatforms.Windows, ::Base.Iterators.Pairs{Unio
n{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Pkg.API.add), ::Pkg.Types.
Context, ::Array{Pkg.Types.PackageSpec,1}) at D:\buildbot\worker\package_win32\b
uild\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:102
[13] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at D:\buildbot
worker\package_win32\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:72
[14] do_add!(::Dict{Symbol,Any}, ::Array{Pkg.Types.PackageSpec,1}, ::Dict{Symbo
l,Any}) at D:\buildbot\worker\package_win32\build\usr\share\julia\stdlib\v1.3\Pk
g\src\REPLMode.jl:505
[15] #invokelatest#1(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{
(),Tuple{}}}, ::typeof(Base.invokelatest), ::Any, ::Any, ::Vararg{Any,N} where N
) at .\essentials.jl:709
[16] invokelatest(::Any, ::Any, ::Vararg{Any,N} where N) at .\essentials.jl:708

[17] do_cmd!(::Pkg.REPLMode.Command, ::REPL.LineEditREPL) at D:\buildbot\worker
\package_win32\build\usr\share\julia\stdlib\v1.3\Pkg\src\REPLMode.jl:412
[18] #do_cmd#23(::Bool, ::typeof(Pkg.REPLMode.do_cmd), ::REPL.LineEditREPL, ::S
tring) at D:\buildbot\worker\package_win32\build\usr\share\julia\stdlib\v1.3\Pkg
\src\REPLMode.jl:391
[19] do_cmd at D:\buildbot\worker\package_win32\build\usr\share\julia\stdlib\v1
.3\Pkg\src\REPLMode.jl:387 [inlined]
[20] (::Pkg.REPLMode.var"#28#31"{REPL.LineEditREPL,REPL.LineEdit.Prompt})(::REP
L.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at D:\buildb
ot\worker\package_win32\build\usr\share\julia\stdlib\v1.3\Pkg\src\REPLMode.jl:61
9
[21] #invokelatest#1 at .\essentials.jl:709 [inlined]
[22] invokelatest at .\essentials.jl:708 [inlined]
[23] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterfac
e, ::REPL.LineEdit.MIState) at D:\buildbot\worker\package_win32\build\usr\share
julia\stdlib\v1.3\REPL\src\LineEdit.jl:2306
[24] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at D:\buildbot\wo
rker\package_win32\build\usr\share\julia\stdlib\v1.3\REPL\src\REPL.jl:1045
[25] run_repl(::REPL.AbstractREPL, ::Any) at D:\buildbot\worker\package_win32\b
uild\usr\share\julia\stdlib\v1.3\REPL\src\REPL.jl:201
[26] (::Base.var"#770#772"{Bool,Bool,Bool,Bool})(::Module) at .\client.jl:382
[27] #invokelatest#1 at .\essentials.jl:709 [inlined]
[28] invokelatest at .\essentials.jl:708 [inlined]
[29] run_main_repl(::Bool, ::Bool, ::Bool, ::Bool, ::Bool) at .\client.jl:366
[30] exec_options(::Base.JLOptions) at .\client.jl:304
[31] _start() at .\client.jl:460

:point_up_2:

Please, post the output of this snippet quoting the code:

using Pkg, Pkg.Artifacts, Pkg.BinaryPlatforms, Pkg.PlatformEngines

# Initialize Pkg code
probe_platform_engines!(; verbose=true)

# Change these to whatever you need them to be, to debug your artifacts code
artifacts_toml_url = "https://raw.githubusercontent.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/master/Artifacts.toml"
artifact_name = "OpenSpecFun"

mktempdir() do tmp_dir
  # First, download Artifacts.toml file to temporary directory
  artifacts_toml = joinpath(tmp_dir, "Artifacts.toml")
  @info("Downloading Artifacts.toml to $(artifacts_toml)...")
  Pkg.PlatformEngines.download(artifacts_toml_url, artifacts_toml; verbose=true)
  
  # Extract artifact metadata for the current platform (you can override this)
  platform = platform_key_abi()
  @info("Extracting artifact info for platform $(triplet(platform))...")
  artifact_dict = Pkg.Artifacts.load_artifacts_toml(artifacts_toml)
  meta = artifact_meta(artifact_name, artifact_dict, artifacts_toml; platform=platform)
  
  treehash = meta["git-tree-sha1"]
  tarball_url = first(meta["download"])["url"]
  tarball_hash = first(meta["download"])["sha256"]
  @info("Found meta object with git-tree-sha1 $(treehash), attempting download...")
  destdir = joinpath(tmp_dir, "unpacked")
  download_verify_unpack(tarball_url, tarball_hash, destdir; verbose=true)
  
  if !Sys.iswindows()
    @info("Double-checking git-tree-sha (this is skipped on Windows)")
    calc_treehash = bytes2hex(Pkg.GitTools.tree_hash(destdir))
    if calc_treehash != treehash
      @warn("Calculated treehash ($(calc_treehash)) != promised treehash ($(treehash))!")
    end
  end
end

Hi Giordano,
I attached the command link here, cause I am not allowed to show command because of new user.

You have to paste the entire snippet into the REPL at once, if you don’t paste the closing ends you get syntax errors

???

I think it is some discourse thing (to avoid spam?).

Hi,
I pasted the entire snippet into the REPL, than the following error:

ERROR: syntax: incomplete: “do” at REPL[7]:1 requires end
Stacktrace:
[1] top-level scope at REPL[6]:0

I don’t understand what it means.
Thank you

Ok, let’s make it super simple. Enter the package manager mode as usual with ] and install the package DebugArtifacts.jl with

add https://github.com/giordano/DebugArtifacts.jl.git

After that, exit from the package manager mode and run the two following commands:

using DebugArtifacts
debug_artifact("OpenSpecFun")
3 Likes

Hi Giordano,
still have the following error running the two commands

This wasn’t meant to solve anything, but only to try to understand what’s the problem.

Maybe you’re facing the issue mentioned in Fail to download registries from Pkg Server on Windows · Issue #1642 · JuliaLang/Pkg.jl · GitHub

Thank you so much.
I will try to solve this problem.

1 Like

was a solution found out for this issue? I am having the same error message in Julia. I have tried the debug procedures you have mentioned above and it ran without any error (“no hash cache found”), however when trying to install Flux package:
Error: Tree Hash Mismatch!
│ Expected git-tree-sha1: 0fd0fb67de786e5d7b2eb67181d35e4bcab639cf
│ Calculated git-tree-sha1: b5dfbf709a492a96aa4dcaf46616293ce08b7eab
ERROR: Unable to automatically install ‘CompilerSupportLibraries’ from ‘/~/.julia/packages/CompilerSupportLibraries_jll/kmL78/Artifacts.toml’