Error during package installation (ADCME)

I am attempting to install the package ADCME, which is installed when installing ADSeismic. I get an error with ADCME

ERROR: Error building ADSeismic:

ERROR: LoadError: ADCME is not properly built; run Pkg.build("ADCME") to fix the problem.

and so if I run

Pkg.build(“ADCME”)

I get this output below. It’s a long stack trace but for the life of me I can’t find anything that I could do differently.

I am using julia 1.9.4 on macOS 12.5.1, M2 processor.

Building CMake ─→ ~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/50a8b41d2c562fccd9ab841085fc7d1e2706da82/build.log

Building Conda ─→ ~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/51cab8e982c5b598eea9c8ceaced4b58d9dd37c9/build.log

Building PyCall → ~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/9816a3826b0ebf49ab4926e2b18842ad8b5c8f04/build.log

Building ADCME ─→ ~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/4ecfc24dbdf551f92b5de7ea2d99da3f7fde73c9/build.log

ERROR: Error building ADCME:

┌ Warning: Pkg.installed() is deprecated

└ @ Pkg /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/Pkg.jl:745

┌ Warning: Pkg.installed() is deprecated

└ @ Pkg /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/Pkg.jl:745

[ Info: Your Julia version is 1.9.4, current ADCME version is 0.7.3, ADCME dependencies installation path: /Users/josephbyrnes/.julia/adcme

[ Info: --------------- (1/7) Install Tensorflow Dependencies ---------------

[ Info: ADCME dependencies have already been installed.

[ Info: --------------- (2/7) Check Python Version ---------------

┌ Warning: Pkg.installed() is deprecated

└ @ Pkg /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/Pkg.jl:745

Building Conda ─→ ~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/51cab8e982c5b598eea9c8ceaced4b58d9dd37c9/build.log

Building PyCall → ~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/9816a3826b0ebf49ab4926e2b18842ad8b5c8f04/build.log

Stacktrace:

[1] pkgerror(msg::String)

@ Pkg.Types /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/Types.jl:69

[2] (::Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String})()

@ Pkg.Operations /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1158

[3] withenv(::Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, ::Pair{String, String}, ::Vararg{Pair{String}})

@ Base ./env.jl:197

[4] (::Pkg.Operations.var"#117#122"{String, Bool, Bool, Bool, Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.PackageSpec})()

@ Pkg.Operations /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1825

[5] with_temp_env(fn::Pkg.Operations.var"#117#122"{String, Bool, Bool, Bool, Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.PackageSpec}, temp_env::String)

@ Pkg.Operations /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1706

[6] (::Pkg.Operations.var"#115#120"{Dict{String, Any}, Bool, Bool, Bool, Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, Pkg.Types.Project, String})(tmp::String)

@ Pkg.Operations /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1795

[7] mktempdir(fn::Pkg.Operations.var"#115#120"{Dict{String, Any}, Bool, Bool, Bool, Pkg.Operations.var"#67#74"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec, String}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, Pkg.Types.Project, String}, parent::String; prefix::String)

@ Base.Filesystem ./file.jl:762

[8] mktempdir(fn::Function, parent::String)

@ Base.Filesystem ./file.jl:758

[9] mktempdir

@ ./file.jl:758 [inlined]

[10] sandbox(fn::Function, ctx::Pkg.Types.Context, target::Pkg.Types.PackageSpec, target_path::String, sandbox_path::String, sandbox_project_override::Pkg.Types.Project; preferences::Dict{String, Any}, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool)

@ Pkg.Operations /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1753

[11] build_versions(ctx::Pkg.Types.Context, uuids::Set{Base.UUID}; verbose::Bool)

@ Pkg.Operations /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1139

[12] build_versions

@ /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1054 [inlined]

[13] build(ctx::Pkg.Types.Context, uuids::Set{Base.UUID}, verbose::Bool)

@ Pkg.Operations /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:996

[14] build(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; verbose::Bool, kwargs::Base.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})

@ Pkg.API /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/API.jl:1053

[15] build(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})

@ Pkg.API /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/API.jl:156

[16] build(pkgs::Vector{Pkg.Types.PackageSpec})

@ Pkg.API /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/API.jl:145

[17] build#85

@ /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/API.jl:144 [inlined]

[18] build

@ /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/API.jl:144 [inlined]

[19] build#84

@ /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/API.jl:143 [inlined]

[20] build(pkg::String)

@ Pkg.API /Applications/Julia-1.9.app/Contents/Resources/julia/share/julia/stdlib/v1.9/Pkg/src/API.jl:143

[21] top-level scope

@ REPL[7]:1

What is your output of:

using Pkg
Pkg.status()

?
EDIT: You are not the only one: Issues · kailaix/ADCME.jl · GitHub
I tried to install in using Julia 1.10 on Linux and it failed…

Status ~/.julia/environments/v1.9/Project.toml

[07b341a0] ADCME v0.7.3

[65edcd7e] ADSeismic v0.5.0

I just updated Julia to see if that was the issue, so it’s a clean install.

So it says I have ADCME but if I try

using ADCME

I get

julia> using ADCME

[ Info: Precompiling ADCME [07b341a0-ce75-57c6-b2de-414ffdc00be5]

ERROR: LoadError: ADCME is not properly built; run Pkg.build("ADCME") to fix the problem.

Stacktrace:

[1] error(s::String)

@ Base ./error.jl:35

[2] top-level scope

@ ~/.julia/packages/ADCME/94vEM/src/ADCME.jl:46

[3] include

@ ./Base.jl:457 [inlined]

[4] 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, UInt128}}, source::Nothing)

@ Base ./loading.jl:2049

[5] top-level scope

@ stdin:3

in expression starting at /Users/josephbyrnes/.julia/packages/ADCME/94vEM/src/ADCME.jl:3

in expression starting at stdin:3

ERROR: Failed to precompile ADCME [07b341a0-ce75-57c6-b2de-414ffdc00be5] to “/Users/josephbyrnes/.julia/compiled/v1.9/ADCME/jl_M5rUFI”.

Stacktrace:

[1] error(s::String)

@ Base ./error.jl:35

[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)

@ Base ./loading.jl:2294

[3] compilecache

@ ./loading.jl:2167 [inlined]

[4] _require(pkg::Base.PkgId, env::String)

@ Base ./loading.jl:1805

[5] _require_prelocked(uuidkey::Base.PkgId, env::String)

@ Base ./loading.jl:1660

[6] macro expansion

@ ./loading.jl:1648 [inlined]

[7] macro expansion

@ ./lock.jl:267 [inlined]

[8] require(into::Module, mod::Symbol)

@ Base ./loading.jl:1611

It is a problematic package, not well maintained. Perhaps create a bug report?

Last commit two years ago…

I’ll let them know - I assumed it was my fault!

Agreed. I’m not familiar with the package but a quick look over the GitHub repo tells me, despite being particularly well documented, it’s looking a little unmaintained. The Project.toml file tells me they last targeted Julia 1.3, and have a few package dependencies that are capped to now-fairly-old versions, so you’re bound to run into package management issues with it. It’s certainly possible to get it running if required, but it may not be for the faint of heart.

P.S. Without spending too much time researching, this package seems to aspire to do a lot of what is now in the SciML ecosystem.