Installation of some packages fail

Hi all, I just fired up Julia for the first time. My goal is to use the JEMSS package for research purposes. However, as I try to install it with

pkg> add https://github.com/uoa-ems-research/JEMSS.jl

Cgl_jll, Cbc_jll, Cbc and JEMSS fail to install. After running Pkg.precompile() I get these stacktraces:

julia> import Pkg;

julia> Pkg.precompile()
Precompiling project...
  ✗ Cgl_jll
  ✗ Cbc_jll
  ✗ Cbc
  ✗ JEMSS
  0 dependencies successfully precompiled in 24 seconds (126 already precompiled)

ERROR: The following 1 direct dependency failed to precompile:

JEMSS [da3c27b9-5cdd-52db-94a3-a4eefd7acbab]

Failed to precompile JEMSS [da3c27b9-5cdd-52db-94a3-a4eefd7acbab] to /home/jasperbos/.julia/compiled/v1.7/JEMSS/jl_cTm85F.
ERROR: LoadError: InitError: could not load library "/home/jasperbos/.julia/artifacts/e54c61de2448715375d627cc2deffc91d4a7815b/lib/libClp.so"
libdmumps.so: cannot open shared object file: No such file or directory
Stacktrace:
  [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
    @ Base.Libc.Libdl ./libdl.jl:117
  [2] dlopen(s::String, flags::UInt32)
    @ Base.Libc.Libdl ./libdl.jl:117
  [3] macro expansion
    @ ~/.julia/packages/JLLWrappers/QpMQW/src/products/library_generators.jl:54 [inlined]
  [4] __init__()
    @ Clp_jll ~/.julia/packages/Clp_jll/ihKVc/src/wrappers/x86_64-linux-gnu-libgfortran5-cxx11.jl:22
  [5] _include_from_serialized(path::String, depmods::Vector{Any})
    @ Base ./loading.jl:768
  [6] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
    @ Base ./loading.jl:854
  [7] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1097
  [8] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1013
  [9] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:997
 [10] include(mod::Module, _path::String)
    @ Base ./Base.jl:418
 [11] top-level scope
    @ ~/.julia/packages/JLLWrappers/QpMQW/src/toplevel_generators.jl:188
 [12] include
    @ ./Base.jl:418 [inlined]
 [13] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String)
    @ Base ./loading.jl:1318
 [14] top-level scope
    @ none:1
 [15] eval
    @ ./boot.jl:373 [inlined]
 [16] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [17] top-level scope
    @ none:1
during initialization of module Clp_jll
in expression starting at /home/jasperbos/.julia/packages/Cgl_jll/PomnD/src/wrappers/x86_64-linux-gnu-cxx11.jl:4
in expression starting at /home/jasperbos/.julia/packages/Cgl_jll/PomnD/src/Cgl_jll.jl:2
ERROR: LoadError: Failed to precompile Cgl_jll [3830e938-1dd0-5f3e-8b8e-b3ee43226782] to /home/jasperbos/.julia/compiled/v1.7/Cgl_jll/jl_FTujSY.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
    @ Base ./loading.jl:1466
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1410
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1120
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1013
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:997
  [7] include(mod::Module, _path::String)
    @ Base ./Base.jl:418
  [8] top-level scope
    @ ~/.julia/packages/JLLWrappers/QpMQW/src/toplevel_generators.jl:188
  [9] include
    @ ./Base.jl:418 [inlined]
 [10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String)
    @ Base ./loading.jl:1318
 [11] top-level scope
    @ none:1
 [12] eval
    @ ./boot.jl:373 [inlined]
 [13] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [14] top-level scope
    @ none:1
in expression starting at /home/jasperbos/.julia/packages/Cbc_jll/szzPm/src/wrappers/x86_64-linux-gnu-libgfortran5-cxx11.jl:5
in expression starting at /home/jasperbos/.julia/packages/Cbc_jll/szzPm/src/Cbc_jll.jl:2
ERROR: LoadError: Failed to precompile Cbc_jll [38041ee0-ae04-5750-a4d2-bb4d0d83d27d] to /home/jasperbos/.julia/compiled/v1.7/Cbc_jll/jl_6HwxeA.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
    @ Base ./loading.jl:1466
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1410
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1120
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1013
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:997
  [7] top-level scope
    @ ~/.julia/packages/Cbc/vMMGG/src/Cbc.jl:15
  [8] include
    @ ./Base.jl:418 [inlined]
  [9] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String)
    @ Base ./loading.jl:1318
 [10] top-level scope
    @ none:1
 [11] eval
    @ ./boot.jl:373 [inlined]
 [12] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [13] top-level scope
    @ none:1
in expression starting at /home/jasperbos/.julia/packages/Cbc/vMMGG/src/Cbc.jl:1
ERROR: LoadError: Failed to precompile Cbc [9961bab8-2fa3-5c5a-9d89-47fab24efd76] to /home/jasperbos/.julia/compiled/v1.7/Cbc/jl_mnaEh9.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
    @ Base ./loading.jl:1466
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1410
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1120
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1013
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:997
  [7] include
    @ ./Base.jl:418 [inlined]
  [8] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1318
  [9] top-level scope
    @ none:1
 [10] eval
    @ ./boot.jl:373 [inlined]
 [11] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [12] top-level scope
    @ none:1
in expression starting at /home/jasperbos/.julia/packages/JEMSS/3snbw/src/JEMSS.jl:17
Stacktrace:
 [1] pkgerror(msg::String)
   @ Pkg.Types ~/julia-1.7.2/julia-1.7.2/share/julia/stdlib/v1.7/Pkg/src/Types.jl:68
 [2] precompile(ctx::Pkg.Types.Context; internal_call::Bool, strict::Bool, warn_loaded::Bool, already_instantiated::Bool, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ Pkg.API ~/julia-1.7.2/julia-1.7.2/share/julia/stdlib/v1.7/Pkg/src/API.jl:1362
 [3] precompile
   @ ~/julia-1.7.2/julia-1.7.2/share/julia/stdlib/v1.7/Pkg/src/API.jl:1013 [inlined]
 [4] #precompile#220
   @ ~/julia-1.7.2/julia-1.7.2/share/julia/stdlib/v1.7/Pkg/src/API.jl:1011 [inlined]
 [5] precompile()
   @ Pkg.API ~/julia-1.7.2/julia-1.7.2/share/julia/stdlib/v1.7/Pkg/src/API.jl:1011
 [6] top-level scope
   @ REPL[19]:1

My computer runs Fedora 35. I installed Julia 1.7.2 first via dnf, after reading some complaints about these package managers I removed Julia and the .julia folder and downloaded and installed the tar.gz from this website. On this clean install I tried to install JEMSS.

It seems that the main error is LoadError: InitError: could not load library “/home/jasperbos/.julia/artifacts/e54c61de2448715375d627cc2deffc91d4a7815b/lib/libClp.so”
libdmumps.so: cannot open shared object file: No such file or directory. However, this file does exist.

Any help to fix this or to increase my understanding is highly appreciated.

Can you open an issue in Cbc.jl please? I likely need to do something similar to Bump version of Clp_jll that we support by odow · Pull Request #133 · jump-dev/Clp.jl · GitHub.

Try add Clp_jll@100.1700.601 in the package manager, then restart Julia.

P.s. hi from Auckland. I’ll fix this tomorrow morning.

2 Likes

That worked like a charm @odow, I can now install and run JEMSS. Thanks for your swift response, especially at your hour. I will open an issue in cbc.jl as you requested. Good luck with the fix!

I just made Update to Cbc_jll dep to fix Clp_jll compatibility with MUMPS by iamed2 · Pull Request #195 · jump-dev/Cbc.jl · GitHub, matching the Clp change (Cbc_jll pulls in the correct Clp_jll)

1 Like

I can now install and run JEMSS

Great! But which versions is it installing? The first step is probably to update everything to be compatible with JuMP 1.0.

Packages like this are deprecated

And this with_optimizer syntax is no longer supported