How to force an update?

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.

No idea: I was just trying stuff out while attempting to update everything. As far as I understand, update --manifest updates all packages, including those in the manifest. I thought that fits my goal of updating everything.

Simple update seems to be working fine (doesn’t jump around these “optima”).

I’m encountering a similar issue, where a package isn’t upgrading but isn’t marked as a problem.

It would be helpful there was a Pkg command to show what other packages have common dependencies that could be leading to a conflict.

1 Like