Yesterday I ran into a not-so nice situation with packages and their dependencies. I added a package or updated a package (after ] activate MyPackage
an ] update
) to my current development status and while locally on my machine everything ran smoothly (Julia 1.3) the CI (Julia 1.0, 1.2 and 1.3) did not respond so well. For example here
where the corresponding (currently checked in) Manifest reads
I noticed that the troubling package is OpenBLAS_jll
which is (reverse lookup in said manifest) used by Arpack_jll
which itself is required by Arpack
which PDMats
needs which (finally!) we need for Distributions
.
So the version error stems from a dependency of a dependency of a dependency of a dependency that we need (huargh!). Just by chance I remmebererd that we had that before and it was updated in said update above, so I looked at an old Manifest
(though I don’t like the Manifest being checked in, here it was nice) that for the previous Arpack it worked (0.3.2 instead of 0.4.0)
My solution was now to manually add Arpack
to our dependencies (though it’s not directly needed by us) and fix it to 0.3.2
, this downgrades a few packages in above said path but then the conflict is resolved…
Is there any nicer way to
-
Find this then pure guessing and looking at old Manifests?
-
a Nicer way to resolve this then to add a dependency and fix the version?
ImagineDistributions
finds something nicer and does not requireArpack
anymore, with an update we would’t need it either but we currently have it fixed included just to keep a version that is running with CI (Julia 1.0 and 1.2 which we would like to also tyts against=?