lanl-ansi / Alpine.jl

A Julia/JuMP-based Global Optimization Solver for Non-convex Programs
https://lanl-ansi.github.io/Alpine.jl/latest/
Other
244 stars 39 forks source link

Compilation error #146

Closed stumarcus314 closed 3 years ago

stumarcus314 commented 4 years ago

I use Julia v1.4.1 with JuMP 0.21.2. I get the following error when I try to use Alpine.

julia> include("MVB_MINLP.jl") [ Info: Precompiling Alpine [07493b3f-dabb-5b16-a503-4139292d7dd4] ERROR: LoadError: LoadError: UndefVarError: Variable not defined Stacktrace: [1] getproperty(::Module, ::Symbol) at .\Base.jl:26 [2] top-level scope at C:\Users\stuma.julia\packages\Alpine\k3g7z\src\tmc.jl:203 [3] include(::Module, ::String) at .\Base.jl:377 [4] include(::String) at C:\Users\stuma.julia\packages\Alpine\k3g7z\src\Alpine.jl:3 [5] top-level scope at C:\Users\stuma.julia\packages\Alpine\k3g7z\src\Alpine.jl:57 [6] include(::Module, ::String) at .\Base.jl:377 [7] top-level scope at none:2 [8] eval at .\boot.jl:331 [inlined] [9] eval(::Expr) at .\client.jl:449 [10] top-level scope at .\none:3 in expression starting at C:\Users\stuma.julia\packages\Alpine\k3g7z\src\tmc.jl:203 in expression starting at C:\Users\stuma.julia\packages\Alpine\k3g7z\src\Alpine.jl:57 ERROR: LoadError: Failed to precompile Alpine [07493b3f-dabb-5b16-a503-4139292d7dd4] to C:\Users\stuma.julia\compiled\v1.4\Alpine\TRSJF_3RzvJ.ji. Stacktrace: [1] error(::String) at .\error.jl:33 [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1272 [3] _require(::Base.PkgId) at .\loading.jl:1029 [4] require(::Base.PkgId) at .\loading.jl:927 [5] require(::Module, ::Symbol) at .\loading.jl:922 [6] include(::String) at .\client.jl:439

ccoffrin commented 4 years ago

At the moment this solver requires JuMP v0.18.

mjposs commented 4 years ago

Hi

I installed JuMP v0.18.3 (or v0.18.6) and get simingly the same error with Alpine v.0.1.15:

julia> using Alpine [ Info: Precompiling Alpine [07493b3f-dabb-5b16-a503-4139292d7dd4] ERROR: LoadError: LoadError: UndefVarError: Variable not defined Stacktrace: [1] getproperty(::Module, ::Symbol) at ./Base.jl:13 [2] top-level scope at /home/mposs/.julia/packages/Alpine/q7ook/src/tmc.jl:203 [3] include at ./boot.jl:328 [inlined] [4] include_relative(::Module, ::String) at ./loading.jl:1105 [5] include at ./Base.jl:31 [inlined] [6] include(::String) at /home/mposs/.julia/packages/Alpine/q7ook/src/Alpine.jl:3 [7] top-level scope at /home/mposs/.julia/packages/Alpine/q7ook/src/Alpine.jl:37 [8] include at ./boot.jl:328 [inlined] [9] include_relative(::Module, ::String) at ./loading.jl:1105 [10] include(::Module, ::String) at ./Base.jl:31 [11] top-level scope at none:2 [12] eval at ./boot.jl:330 [inlined] [13] eval(::Expr) at ./client.jl:425 [14] top-level scope at ./none:3 in expression starting at /home/mposs/.julia/packages/Alpine/q7ook/src/tmc.jl:203 in expression starting at /home/mposs/.julia/packages/Alpine/q7ook/src/Alpine.jl:37 ERROR: Failed to precompile Alpine [07493b3f-dabb-5b16-a503-4139292d7dd4] to /home/mposs/.julia/compiled/v1.3/Alpine/TRSJF_j3Rk1.ji. Stacktrace: [1] error(::String) at ./error.jl:33 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1283 [3] _require(::Base.PkgId) at ./loading.jl:1024 [4] require(::Base.PkgId) at ./loading.jl:922 [5] require(::Module, ::Symbol) at ./loading.jl:917

harshangrjn commented 4 years ago

Can you update Alpine to v0.1.16 and see if this issue still persists?

mjposs commented 4 years ago

Where do I get it?

julia> Pkg.add(Pkg.PackageSpec(;name="Alpine", version="0.1.16")) Resolving package versions... ERROR: Unsatisfiable requirements detected for package Alpine [07493b3f]: Alpine [07493b3f] log: ├─possible versions are: [0.1.0-0.1.3, 0.1.5, 0.1.7, 0.1.9-0.1.10, 0.1.15] or uninstalled └─restricted to versions 0.1.16 by an explicit requirement — no versions left Stacktrace: [1] check_constraints(::Pkg.GraphType.Graph) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/GraphType.jl:937 [2] Pkg.GraphType.Graph(::Dict{Base.UUID,Set{VersionNumber}}, ::Dict{Base.UUID,Dict{Pkg.Types.VersionRange,Dict{String,Base.UUID}}}, ::Dict{Base.UUID,Dict{Pkg.Types.VersionRange,Dict{String,Pkg.Types.VersionSpec}}}, ::Dict{Base.UUID,String}, ::Dict{Base.UUID,Pkg.Types.VersionSpec}, ::Dict{Base.UUID,Pkg.Types.Fixed}, ::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/GraphType.jl:364 [3] deps_graph(::Pkg.Types.Context, ::Dict{Base.UUID,String}, ::Dict{Base.UUID,Pkg.Types.VersionSpec}, ::Dict{Base.UUID,Pkg.Types.Fixed}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Operations.jl:437 [4] resolve_versions!(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Operations.jl:320 [5] #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:1010 [6] #add at ./none:0 [inlined] [7] #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 [8] 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 [9] #add#24 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:69 [inlined] [10] add at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:69 [inlined] [11] #add#20 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:66 [inlined] [12] add(::Pkg.Types.PackageSpec) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:66

harshangrjn commented 4 years ago

Looks like you have some other package which you have installed which is creating a conflict. Its probably better to remove all packages and start adding with JuMP and Alpine.

mjposs commented 4 years ago

I think I did remove all packages, but the problem persists:

julia> Pkg.installed() Dict{String,Union{Nothing, VersionNumber}} with 0 entries

julia> Pkg.add(Pkg.PackageSpec(;name="Alpine", version="0.1.16")) Resolving package versions... ERROR: Unsatisfiable requirements detected for package Alpine [07493b3f]: Alpine [07493b3f] log: ├─possible versions are: [0.1.0-0.1.3, 0.1.5, 0.1.7, 0.1.9-0.1.10, 0.1.15] or uninstalled └─restricted to versions 0.1.16 by an explicit requirement — no versions left Stacktrace: [1] check_constraints(::Pkg.GraphType.Graph) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/GraphType.jl:937 [2] Pkg.GraphType.Graph(::Dict{Base.UUID,Set{VersionNumber}}, ::Dict{Base.UUID,Dict{Pkg.Types.VersionRange,Dict{String,Base.UUID}}}, ::Dict{Base.UUID,Dict{Pkg.Types.VersionRange,Dict{String,Pkg.Types.VersionSpec}}}, ::Dict{Base.UUID,String}, ::Dict{Base.UUID,Pkg.Types.VersionSpec}, ::Dict{Base.UUID,Pkg.Types.Fixed}, ::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/GraphType.jl:364 [3] deps_graph(::Pkg.Types.Context, ::Dict{Base.UUID,String}, ::Dict{Base.UUID,Pkg.Types.VersionSpec}, ::Dict{Base.UUID,Pkg.Types.Fixed}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Operations.jl:437 [4] resolve_versions!(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Operations.jl:320 [5] #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:1010 [6] #add at ./none:0 [inlined] [7] #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 [8] 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 [9] #add#24 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:69 [inlined] [10] add at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:69 [inlined] [11] #add#20 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:66 [inlined] [12] add(::Pkg.Types.PackageSpec) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:66

Wikunia commented 4 years ago

Looks like it doesn't find the newest version of Alpine. Not sure why this might be the case. Conflicting with other packages gives a different kind of error.

harshangrjn commented 3 years ago

@stumarcus576 You can download the most recent version (v0.2.0) of Alpine and try with JuMP 0.21+. If in case you have any issues, feel free to re-open the issue.