Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EAGO fails to precompile #43

Closed
OliverEvans96 opened this issue May 25, 2020 · 3 comments
Closed

EAGO fails to precompile #43

OliverEvans96 opened this issue May 25, 2020 · 3 comments

Comments

@OliverEvans96
Copy link

Starting from a fresh install of Julia 1.4, EAGO gives me the following precompilation error:

% julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.4.0 (2020-03-21)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

(@v1.4) pkg> add JuMP, EAGO
    Cloning default registries into `~/.julia`
    Cloning registry from "https://github.com/JuliaRegistries/General.git"
      Added registry `General` to `~/.julia/registries/General`
  Resolving package versions...
  Installed NaNMath ────────────────────── v0.3.3
  Installed Calculus ───────────────────── v0.5.1
  Installed Reexport ───────────────────── v0.2.0
  Installed SetRounding ────────────────── v0.2.0
  Installed LinQuadOptInterface ────────── v0.6.0
  Installed ErrorfreeArithmetic ────────── v0.5.0
  Installed EAGO ───────────────────────── v0.2.1
  Installed JuMP ───────────────────────── v0.19.2
  Installed Parsers ────────────────────── v1.0.4
  Installed OrderedCollections ─────────── v1.2.0
  Installed FillArrays ─────────────────── v0.8.10
  Installed RecipesBase ────────────────── v1.0.1
  Installed SpecialFunctions ───────────── v0.10.3
  Installed IntervalContractors ────────── v0.4.2
  Installed DiffRules ──────────────────── v0.0.10
  Installed MacroTools ─────────────────── v0.5.5
  Installed Cassette ───────────────────── v0.2.6
  Installed FastRounding ───────────────── v0.2.0
  Installed ForwardDiff ────────────────── v0.10.10
  Installed DiffResults ────────────────── v0.0.4
  Installed BandedMatrices ─────────────── v0.15.8
  Installed Compat ─────────────────────── v2.2.0
  Installed GLPK ───────────────────────── v0.10.0
  Installed ArrayLayouts ───────────────── v0.3.3
  Installed MathOptInterface ───────────── v0.8.4
  Installed FunctionWrappers ───────────── v1.1.1
  Installed RoundingEmulator ───────────── v0.2.1
  Installed CommonSubexpressions ───────── v0.2.0
  Installed CRlibm ─────────────────────── v0.8.0
  Installed MathProgBase ───────────────── v0.7.8
  Installed BinaryProvider ─────────────── v0.5.10
  Installed StaticArrays ───────────────── v0.8.3
  Installed CompilerSupportLibraries_jll ─ v0.3.3+0
  Installed IntervalArithmetic ─────────── v0.17.2
  Installed DataStructures ─────────────── v0.17.17
  Installed Ipopt ──────────────────────── v0.5.4
  Installed BenchmarkTools ─────────────── v0.5.0
  Installed JSON ───────────────────────── v0.21.0
  Installed ReverseDiff ────────────────── v0.3.1
  Installed OpenSpecFun_jll ────────────── v0.5.3+3
Downloading artifact: CompilerSupportLibraries
######################################################################## 100.0%##O#- #                                 Downloading artifact: OpenSpecFun
######################################################################## 100.0%##O=#  #                                   Updating `~/.julia/environments/v1.4/Project.toml`
  [bb8be931] + EAGO v0.2.1
  [4076af6c] + JuMP v0.19.2
   Updating `~/.julia/environments/v1.4/Manifest.toml`
  [4c555306] + ArrayLayouts v0.3.3
  [aae01518] + BandedMatrices v0.15.8
  [6e4b80f9] + BenchmarkTools v0.5.0
  [b99e7846] + BinaryProvider v0.5.10
  [96374032] + CRlibm v0.8.0
  [49dc2e85] + Calculus v0.5.1
  [7057c7e9] + Cassette v0.2.6
  [bbf7d656] + CommonSubexpressions v0.2.0
  [34da2185] + Compat v2.2.0
  [e66e0078] + CompilerSupportLibraries_jll v0.3.3+0
  [864edb3b] + DataStructures v0.17.17
  [163ba53b] + DiffResults v0.0.4
  [b552c78f] + DiffRules v0.0.10
  [bb8be931] + EAGO v0.2.1
  [90fa49ef] + ErrorfreeArithmetic v0.5.0
  [fa42c844] + FastRounding v0.2.0
  [1a297f60] + FillArrays v0.8.10
  [f6369f11] + ForwardDiff v0.10.10
  [069b7b12] + FunctionWrappers v1.1.1
  [60bf3e95] + GLPK v0.10.0
  [d1acc4aa] + IntervalArithmetic v0.17.2
  [15111844] + IntervalContractors v0.4.2
  [b6b21f68] + Ipopt v0.5.4
  [682c06a0] + JSON v0.21.0
  [4076af6c] + JuMP v0.19.2
  [f8899e07] + LinQuadOptInterface v0.6.0
  [1914dd2f] + MacroTools v0.5.5
  [b8f27783] + MathOptInterface v0.8.4
  [fdba3010] + MathProgBase v0.7.8
  [77ba4419] + NaNMath v0.3.3
  [efe28fd5] + OpenSpecFun_jll v0.5.3+3
  [bac558e1] + OrderedCollections v1.2.0
  [69de0a69] + Parsers v1.0.4
  [3cdcf5f2] + RecipesBase v1.0.1
  [189a3867] + Reexport v0.2.0
  [37e2e3b7] + ReverseDiff v0.3.1
  [5eaf0fd0] + RoundingEmulator v0.2.1
  [3cc68bcd] + SetRounding v0.2.0
  [276daf66] + SpecialFunctions v0.10.3
  [90137ffa] + StaticArrays v0.8.3
  [2a0f44e3] + Base64 
  [ade2ca70] + Dates 
  [8bb1440f] + DelimitedFiles 
  [8ba89e20] + Distributed 
  [b77e0a4c] + InteractiveUtils 
  [76f85450] + LibGit2 
  [8f399da3] + Libdl 
  [37e2e46d] + LinearAlgebra 
  [56ddb016] + Logging 
  [d6f4376e] + Markdown 
  [a63ad114] + Mmap 
  [44cfe95a] + Pkg 
  [de0858da] + Printf 
  [3fa0cd96] + REPL 
  [9a3f8284] + Random 
  [ea8e919c] + SHA 
  [9e88b42a] + Serialization 
  [1a1011a3] + SharedArrays 
  [6462fe0b] + Sockets 
  [2f01184e] + SparseArrays 
  [10745b16] + Statistics 
  [8dfed614] + Test 
  [cf7118a7] + UUIDs 
  [4ec0a83e] + Unicode 
   Building GLPK ──→ `~/.julia/packages/GLPK/Fb12F/deps/build.log`
   Building CRlibm → `~/.julia/packages/CRlibm/NFCH5/deps/build.log`
   Building Ipopt ─→ `~/.julia/packages/Ipopt/Iu7vT/deps/build.log`

julia> using JuMP
[ Info: Precompiling JuMP [4076af6c-e467-56ae-b986-b466b2749572]

julia> using EAGO
[ Info: Precompiling EAGO [bb8be931-2a91-5aca-9f87-79e1cb69959a]
┌ Warning: Package EAGO does not have SparseArrays in its dependencies:
│ - If you have EAGO checked out for development and have
│   added SparseArrays as a dependency but haven't updated your primary
│   environment's manifest file, try `Pkg.resolve()`.
│ - Otherwise you may need to report an issue with EAGO
└ Loading SparseArrays into EAGO from project dependency, future warnings for EAGO are suppressed.
WARNING: could not import IntervalArithmetic.pi_interval into McCormick
WARNING: could not import IntervalContractors.pow_rev into McCormick
ERROR: LoadError: LoadError: LoadError: UndefVarError: pi_interval not defined
Stacktrace:
 [1] top-level scope at /home/oliver/.julia/packages/EAGO/G9lC2/src/mccormick_library/mccormick_utilities/constants.jl:38
 [2] include(::Module, ::String) at ./Base.jl:377
 [3] include(::String) at /home/oliver/.julia/packages/EAGO/G9lC2/src/mccormick_library/mccormick.jl:1
 [4] top-level scope at /home/oliver/.julia/packages/EAGO/G9lC2/src/mccormick_library/mccormick.jl:76
 [5] include(::Module, ::String) at ./Base.jl:377
 [6] include(::String) at /home/oliver/.julia/packages/EAGO/G9lC2/src/EAGO.jl:1
 [7] top-level scope at /home/oliver/.julia/packages/EAGO/G9lC2/src/EAGO.jl:29
 [8] include(::Module, ::String) at ./Base.jl:377
 [9] top-level scope at none:2
 [10] eval at ./boot.jl:331 [inlined]
 [11] eval(::Expr) at ./client.jl:449
 [12] top-level scope at ./none:3
in expression starting at /home/oliver/.julia/packages/EAGO/G9lC2/src/mccormick_library/mccormick_utilities/constants.jl:38
in expression starting at /home/oliver/.julia/packages/EAGO/G9lC2/src/mccormick_library/mccormick.jl:76
in expression starting at /home/oliver/.julia/packages/EAGO/G9lC2/src/EAGO.jl:29
ERROR: Failed to precompile EAGO [bb8be931-2a91-5aca-9f87-79e1cb69959a] to /home/oliver/.julia/compiled/v1.4/EAGO/t0N0c_A6IiH.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
@mewilhel
Copy link
Member

Thanks for the heads up.

Explanation: The EAGO v0.2.1 had an open upper bound on a few packages (Julia included). Since a Julia 1.4 version hasn't been tagged yet this results in this older version loading and creates some issues due to a lack of upper bounds on other package dependencies.

We're in the process of finalizing a tag with support for Julia 1.4 (with the next couple days). So that should resolve this issue.

@mewilhel
Copy link
Member

@OliverEvans96 We've tagged version 0.4 which should fix this issue. Let us know if you have any future issues. We're also in the process of putting together a roadmap for this. So let us know if there is any functionality you are particularly interested in.

P.S. I believe EAGO is working well with Gurobi and GLPK now. CPLEX's MOI wrapper seems a little less robust currently, so I'd avoid it for now.

@mewilhel
Copy link
Member

mewilhel commented Feb 4, 2021

I think this and any similar future issues have been resolved by EAGO supporting julia ~1 now. So I'm closing this out. If that is incorrect then I'll re-open this on request.

@mewilhel mewilhel closed this as completed Feb 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants