How to debug `openssl` could not resolve for environment spec inside a package?
(UnROOT) pkg> st
Project UnROOT v0.10.32
Status `~/Documents/github/dotFiles/homedir/.julia/dev/UnROOT/Project.toml`
[1520ce14] AbstractTrees v0.4.5
[7d9f7c33] Accessors v0.1.38
[65a8f2f4] ArraysOfArrays v0.6.5
[c3b6d118] BitIntegers v0.3.2
[5ba52731] CodecLz4 v0.4.5
[ba30903b] CodecXz v0.7.4
[6b39b394] CodecZstd v0.8.5
[68837c9b] FHist v0.11.6
[cd3eb016] HTTP v1.10.8
[c8e1da08] IterTools v1.10.0
[8ac3fa9e] LRUCache v1.6.1
[9255714d] LibDeflate v0.4.2
[3f54b04b] LorentzVectors v0.4.3
[6fafb56a] Memoization v0.2.1
[2a8e4939] Mixers v0.1.2
[d96e819e] Parameters v0.12.3
[aea7be01] PrecompileTools v1.2.1
[08abe8d2] PrettyTables v2.4.0
[6099a3de] PythonCall v0.9.23
[91c51154] SentinelArrays v1.4.5
[90137ffa] StaticArrays v1.9.7
[09ab397b] StructArrays v0.6.18
[bd369af6] Tables v1.12.0
[164e3b87] XRootD v0.1.0
[e5d8e439] XXHashNative v1.0.1
[a63ad114] Mmap
[fa267f1f] TOML v1.0.3
(UnROOT) pkg> conda add openssl=3.3.0
CondaPkg Found dependencies: /home/akako/Documents/github/dotFiles/homedir/.julia/dev/UnROOT/CondaPkg.toml
CondaPkg Found dependencies: /home/akako/.julia/packages/PythonCall/Nr75f/CondaPkg.toml
CondaPkg Resolving changes
~ openssl
CondaPkg Installing packages
│ /home/akako/.julia/artifacts/7973f2c7725e2d0eef7a95159454c4145f0945a2/bin/micromamba
│ -r /home/akako/.julia/scratchspaces/0b3b1443-0f03-428d-bdfb-f27f9c1191ea/root
│ install
│ -y
│ -p /home/akako/Documents/github/dotFiles/homedir/.julia/dev/UnROOT/.CondaPkg/env
│ --override-channels
│ --no-channel-priority
│ libstdcxx-ng[version='>=3.4,<13.0']
│ openssl[version='=3.3.0']
│ openssl[version='>=1.1, <1.1.24']
│ python[version='>=3.8,<4',channel='conda-forge',build='*cpython*']
└ -c conda-forge
conda-forge/linux-64 Using cache
conda-forge/noarch Using cache
error libmamba Could not solve for environment specs
The following packages are incompatible
├─ openssl 3.3.0* is requested and can be installed;
└─ openssl >=1.1,<1.1.24 is not installable because it conflicts with any installable versions previously reported.
critical libmamba Could not solve for environment specs
ERROR: failed process: Process(`/home/akako/.julia/artifacts/7973f2c7725e2d0eef7a95159454c4145f0945a2/bin/micromamba -r /home/akako/.julia/scratchspaces/0b3b1443-0f03-428d-bdfb-f27f9c1191ea/root install -y -p /home/akako/Documents/github/dotFiles/homedir/.julia/dev/UnROOT/.CondaPkg/env --override-channels --no-channel-priority "libstdcxx-ng[version='>=3.4,<13.0']" "openssl[version='=3.3.0']" "openssl[version='>=1.1, <1.1.24']" "python[version='>=3.8,<4',channel='conda-forge',build='*cpython*']" -c conda-forge`, ProcessExited(1)) [1]
this doesn't happen in a clean environment, but it's not clear what dependency is causing openssl to lock at a specific version
CondaPkg Found dependencies: /home/akako/Documents/github/dotFiles/homedir/.julia/dev/UnROOT/CondaPkg.toml
CondaPkg Found dependencies: /home/akako/.julia/packages/PythonCall/Nr75f/CondaPkg.toml
These two lines tell you where the dependencies come from. It's most likely your dev version of UnROOT.
that CondaPkg.toml has nothing but the openssl I just added
> cat /home/akako/Documents/github/dotFiles/homedir/.julia/dev/UnROOT/CondaPkg.toml
[deps]
openssl = "=3.3.0"
for completness:
> cat /home/akako/.julia/packages/PythonCall/Nr75f/CondaPkg.toml
[deps.libstdcxx-ng]
version = "<=julia"
[deps.openssl]
version = "<=julia"
[deps.python]
build = "**cpython**"
version = ">=3.8,<4"
Could you do a
pkg> st -m
to check for Julia's OpenSSL packages? From you output it looks as if the two version restrictions
libstdcxx-ng[version='>=3.4,<13.0']
openssl[version='>=1.1, <1.1.24']
result from the version = "<=julia"
I suspect that your OpenSSL or OpenSSL_jll is at 1.x. In that case you could do a
pkg> st -m --outdated
To check what's restricting your version. Maybe, you just need a package update?
It's your XRootD dependency, in particular its dependency of an older version of CxxWrap. You might open an issue and ask the author to support a newer version of CxxWrap.jl.
You can now set JULIA_CONDAPKG_OPENSSL_VERSION=ignore if you'd like to turn off this behaviour. See the README for more info.