The precompile fails because old versions of JuMP (from circa the release of Julia 1.0) relied on some Julia internals which are no longer there. This was fixed long ago in JuMP but it could be argued that those old versions should get retroactive upper bounds on the Julia version in the registry.
I’m honestly not sure what update --manifest
really means, even after reading the help text, but it seems possible that it doesn’t do what it’s supposed to do in this situation.
The source of this particular problem is that SpecialFunctions
recently made a breaking release and until the many packages depending on it catch up with compat, we will see some friction in the package ecosystem. The difficulties with the JuMP
+Ipopt
combination will disappear as soon as JuMP
makes a new release containing Update compat for SpecialFunctions by odow · Pull Request #2829 · jump-dev/JuMP.jl · GitHub.
At the moment Ipopt
is compatible with SpecialFunctions
2.0 (*) but JuMP
is not. If you insist that you want to have 2.0 of SpecialFunctions
, or the resolver for whatever reason decides that it wants it in its resolution, the only way to keep JuMP
is to downgrade it to a sufficiently old version that didn’t depend on SpecialFunctions
.
(*) Addendum: Actually Ipopt
doesn’t depend on SpecialFunctions
, neither directly nor indirectly, so there’s something more to this story. The rest of the argument holds anyway.
(*) Addendum 2: Probably Ipopt
has nothing to do with this at all. The update -m
behavior can be observed from JuMP
alone.