Hello all, I've been using the release-0.18 branch quite happily with Gurobi on Julia 1.0 for a few weeks now and, for me at least, everything is working just fine. I suspect that very little needs to be done to get release-0.18 in a state where it can be tagged. Among the remaining tasks are tagging the open source solvers that are used in testing.
Could someone with the authority to tag please create a checklist of things we must do in order to tag it?
It would be a shame if lots of people got stuck on Julia 0.6 because they are waiting for JuMP 0.19 to be tagged.
Of course I'm willing to lend help finishing it up. Thanks all.
At a high level the checklist is simple. If the CI tests are passing on 0.6, 0.7, and 1.0 then I'll do a sanity check and tag. What solvers are currently failing?
SCS is currently making it fail and it we cannot release a version compatible with Julia v1.0 because of missing binaries https://github.com/JuliaOpt/SCS.jl/issues/92
We can replace SCS with another SDP solver for testing if that gets the tests passing.
After a quick look, it seems to me that the package most in need of a tag is Cbc.jl. I assume you wanted to wait for this?
Yes, the updated MOI wrapper is a blocker for tagging Cbc.
I think we need Cbc right? Looks like that's close to being merged though, so once that happens, I'll put together a PR. (Although maybe GLPK is sufficient, I haven't checked.)
SCS can be replaced by CSDP
Cbc is tagged now (https://github.com/JuliaLang/METADATA.jl/pull/18034)
I'm having difficulty getting Clp.jl to work with release-0.18 and Julia 0.7. I'm on release-0.18 ([4076af6c] JuMP v0.18.2+ #release-0.18 (https://github.com/JuliaOpt/JuMP.jl.git)) and ([e2554f3b] Clp v0.5.0), but trying examples/basic.jl gives
using JuMP, Clp
julia> m = Model(solver = ClpSolver())
Feasibility problem with:
* 0 linear constraints
* 0 variables
Solver is Error showing value of type Model:
ERROR: BoundsError: attempt to access 1-element Array{SubString{String},1} at index [2]
Stacktrace:
[1] getindex at ./array.jl:731 [inlined]
[2] show(::IOContext{REPL.Terminals.TTYTerminal}, ::Model) at /Users/ifiske/.julia/packages/JuMP/6Z1Ly/src/print.jl:167
[3] show(::IOContext{REPL.Terminals.TTYTerminal}, ::MIME{Symbol("text/plain")}, ::Model) at ./sysimg.jl:195
[4] display(::REPL.REPLDisplay, ::MIME{Symbol("text/plain")}, ::Any) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:131
[5] display(::REPL.REPLDisplay, ::Any) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:135
[6] display(::Model) at ./multimedia.jl:287
[7] #invokelatest#1 at ./essentials.jl:691 [inlined]
[8] invokelatest at ./essentials.jl:690 [inlined]
[9] print_response(::IO, ::Any, ::Any, ::Bool, ::Bool, ::Any) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:154
[10] print_response(::REPL.AbstractREPL, ::Any, ::Any, ::Bool, ::Bool) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:139
[11] (::getfield(REPL, Symbol("#do_respond#40")){Bool,getfield(REPL, Symbol("##50#59")){REPL.LineEditREPL,REPL.REPLHistoryProvider},REPL.LineEditREPL,REPL.LineEdit.Prompt})(::Any, ::Any, ::Any) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:708
[12] (::getfield(REPL, Symbol("##55#64")))(::Any, ::Any, ::Vararg{Any,N} where N) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:971
[13] #invokelatest#1 at ./essentials.jl:691 [inlined]
[14] invokelatest at ./essentials.jl:690 [inlined]
[15] (::getfield(REPL.LineEdit, Symbol("##27#28")){getfield(REPL, Symbol("##55#64")),String})(::Any, ::Any) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/LineEdit.jl:1319
[16] prompt!(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/LineEdit.jl:2353
[17] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/LineEdit.jl:2256
[18] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:1029
[19] run_repl(::REPL.AbstractREPL, ::Any) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:191
[20] (::getfield(Base, Symbol("##831#833")){Bool,Bool,Bool,Bool})(::Module) at ./logging.jl:311
[21] #invokelatest#1 at ./essentials.jl:691 [inlined]
[22] invokelatest at ./essentials.jl:690 [inlined]
[23] macro expansion at ./logging.jl:308 [inlined]
[24] run_main_repl(::Bool, ::Bool, ::Bool, ::Bool, ::Bool) at ./client.jl:340
[25] exec_options(::Base.JLOptions) at ./client.jl:252
[26] _start() at ./client.jl:432
The error seems to come from JuMP's show method, so I wasn't sure whether I need to report in JuMP or Clp.jl.
Ah, I know exactly what happened. In 0.6 stuff prints with the module name by default (e.g. JuMP.VariableRef) but in 1.0 the module is omitted if it's in scope. The show method you are referring to was trying to split a string showing such a name on . and was throwing an error when the result had no second element. This is the kind of thing that I haven't seen yet that I'll be fixing once I try passing tests with the solvers. Really the printing is much in need of a careful cleanup, but that won't be happening for 0.18.
By the way, we really should make sure all the solvers are able to use the OS binaries, the build process takes forever and there's really no reason for it as seemingly everybody has Cbc in their repos (at least debian and arch). Maybe I'll make a PR for that as well 馃檪
I have added a milestone that can serve as checklist: https://github.com/JuliaOpt/JuMP.jl/milestone/19
Great work on the segfault everyone, glad to see this is moving along. Sorry I wasn't more helpful on some of the most painful parts.
Milestones are all closed now, how close are we?
Closed by https://github.com/JuliaLang/METADATA.jl/pull/18532 :)
Awesome! Congrats all!
I am getting the same error as @ianfiske on every solver I tried (SCS, Clp, Mosek, CSDP)
I'm on MacOS 10.13.6 and JuMP 0.18.3, Julia 1.0.
@nrontsis this has been fixed by https://github.com/JuliaOpt/JuMP.jl/pull/1528. A new version of JuMP has been tagged; just wait for https://github.com/JuliaLang/METADATA.jl/pull/18711 to be merged.
JuMP v0.18.4 has new been released
Most helpful comment
Closed by https://github.com/JuliaLang/METADATA.jl/pull/18532 :)