emmt / OptimPackNextGen.jl

An almost pure Julia version of OptimPack for numerical optimization with particular focus on large scale problems
Other
12 stars 6 forks source link

Cannot load both OptimPackNextGen and Zygote #10

Closed buthanoid closed 1 year ago

buthanoid commented 1 year ago

If I using Zygote and I using OptimPackNextGen, I get this error:

┌ Warning: Error requiring `Zygote` from `OptimPackNextGen`
│   exception =
│    LoadError: ArgumentError: Package OptimPackNextGen does not have Zygote in its dependencies:
│    - You may have a partially installed environment. Try `Pkg.instantiate()`
│      to ensure all packages in the environment are installed.
│    - Or, if you have OptimPackNextGen checked out for development and have
│      added Zygote 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 OptimPackNextGen
│    Stacktrace:
│      [1] macro expansion
│        @ ./loading.jl:1167 [inlined]
│      [2] macro expansion
│        @ ./lock.jl:223 [inlined]
│      [3] require(into::Module, mod::Symbol)
│        @ Base ./loading.jl:1144
│      [4] include(mod::Module, _path::String)
│        @ Base ./Base.jl:419
│      [5] include(x::String)
│        @ OptimPackNextGen ~/.julia/packages/OptimPackNextGen/gPt2P/src/OptimPackNextGen.jl:15
│      [6] top-level scope
│        @ ~/.julia/packages/Requires/Z8rfN/src/Requires.jl:40
│      [7] eval
│        @ ./boot.jl:368 [inlined]
│      [8] eval
│        @ ~/.julia/packages/OptimPackNextGen/gPt2P/src/OptimPackNextGen.jl:15 [inlined]
│      [9] (::OptimPackNextGen.var"#4#7")()
│        @ OptimPackNextGen ~/.julia/packages/Requires/Z8rfN/src/require.jl:101
│     [10] macro expansion
│        @ ./timing.jl:382 [inlined]
│     [11] err(f::Any, listener::Module, modname::String, file::String, line::Any)
│        @ Requires ~/.julia/packages/Requires/Z8rfN/src/require.jl:47
│     [12] (::OptimPackNextGen.var"#3#6")()
│        @ OptimPackNextGen ~/.julia/packages/Requires/Z8rfN/src/require.jl:100
│     [13] withpath(f::Any, path::String)
│        @ Requires ~/.julia/packages/Requires/Z8rfN/src/require.jl:37
│     [14] (::OptimPackNextGen.var"#2#5")()
│        @ OptimPackNextGen ~/.julia/packages/Requires/Z8rfN/src/require.jl:99
│     [15] listenpkg(f::Any, pkg::Base.PkgId)
│        @ Requires ~/.julia/packages/Requires/Z8rfN/src/require.jl:20
│     [16] macro expansion
│        @ ~/.julia/packages/Requires/Z8rfN/src/require.jl:98 [inlined]
│     [17] __init__()
│        @ OptimPackNextGen ~/.julia/packages/OptimPackNextGen/gPt2P/src/autodiff.jl:17
│     [18] _include_from_serialized(pkg::Base.PkgId, path::String, depmods::Vector{Any})
│        @ Base ./loading.jl:831
│     [19] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt64)
│        @ Base ./loading.jl:1039
│     [20] _require(pkg::Base.PkgId)
│        @ Base ./loading.jl:1315
│     [21] _require_prelocked(uuidkey::Base.PkgId)
│        @ Base ./loading.jl:1200
│     [22] macro expansion
│        @ ./loading.jl:1180 [inlined]
│     [23] macro expansion
│        @ ./lock.jl:223 [inlined]
│     [24] require(into::Module, mod::Symbol)
│        @ Base ./loading.jl:1144
│     [25] eval
│        @ ./boot.jl:368 [inlined]
│     [26] eval_user_input(ast::Any, backend::REPL.REPLBackend)
│        @ REPL ~/julia-1.8.2/share/julia/stdlib/v1.8/REPL/src/REPL.jl:151
│     [27] repl_backend_loop(backend::REPL.REPLBackend)
│        @ REPL ~/julia-1.8.2/share/julia/stdlib/v1.8/REPL/src/REPL.jl:247
│     [28] start_repl_backend(backend::REPL.REPLBackend, consumer::Any)
│        @ REPL ~/julia-1.8.2/share/julia/stdlib/v1.8/REPL/src/REPL.jl:232
│     [29] run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool)
│        @ REPL ~/julia-1.8.2/share/julia/stdlib/v1.8/REPL/src/REPL.jl:369
│     [30] run_repl(repl::REPL.AbstractREPL, consumer::Any)
│        @ REPL ~/julia-1.8.2/share/julia/stdlib/v1.8/REPL/src/REPL.jl:355
│     [31] (::Base.var"#967#969"{Bool, Bool, Bool})(REPL::Module)
│        @ Base ./client.jl:419
│     [32] #invokelatest#2
│        @ ./essentials.jl:729 [inlined]
│     [33] invokelatest
│        @ ./essentials.jl:726 [inlined]
│     [34] run_main_repl(interactive::Bool, quiet::Bool, banner::Bool, history_file::Bool, color_set::Bool)
│        @ Base ./client.jl:404
│     [35] exec_options(opts::Base.JLOptions)
│        @ Base ./client.jl:318
│     [36] _start()
│        @ Base ./client.jl:522
│    in expression starting at /home/antoine/.julia/packages/OptimPackNextGen/gPt2P/ext/OptimPackNextGenZygoteExt.jl:1
└ @ Requires ~/.julia/packages/Requires/Z8rfN/src/require.jl:51

Reproducing

fresh julia session:

pkg> activate --temp
pkg> registry add "https://github.com/emmt/EmmtRegistry"
pkg> registry update
pkg> add Zygote
pkg> add OptimPackNextGen
julia> using Zygote
julia> using OptimPackNextGen
buthanoid commented 1 year ago

Fixed by d48b0cc3454b07c80180658ba3050908391cc20b

🎃