-
-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SONAMEs follow different scheme than upstream (e.g. so.13.5.2
vs so.18
)
#69
Comments
so.13.5.2
vs so.18
)so.13.5.2
vs so.18
)
This is also a problem in macOS, but even worse. On macOS, the dylibs are versioned only with the base version (13, which is equivalent to 3.1), so we can't technically symlink to the correct one, because that'd be ABI breaking. It's true though that conda-forge never packaged libarchive 3.1, so... it could work as long as we never do it :D |
Details: Defaults
conda-forge
|
Think we are just using autotools to build here. So not sure why they differ That said, know in some cases moving to CMake hasn't worked for other packages in place of autotools ( conda-forge/zeromq-feedstock#25 ) ( conda-forge/yaml-feedstock#21 ) ( conda-forge/libprotobuf-feedstock#48 ) Think we should get a better understanding of why they differ |
The same issue reported upstream libarchive/libarchive#1857 |
This keeps coming up as people mix conda-forge and defaults, and will be more prominent when I am going to revamp #70 and see what we have to do. |
After checking with Isuru (thanks a bunch!), we can't just use symlinks for this because ABI compatibility is not guaranteed. Instead, we'll have to:
|
<!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> Mamba currently has problems with dependencies installed from other channels (libarchive/libarchive#1857, conda-incubator/setup-miniconda#292, conda-forge/libarchive-feedstock#69), see eg h ttps://github.com/sagemath/sage/actions/runs/6525067702/job/17717363515. As workaround we use miniforge now (which comes with a preinstalled mamba from conda-forge) ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [ ] The title is concise, informative, and self-explanatory. - [ ] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#36468 Reported by: Tobias Diez Reviewer(s): Isuru Fernando, Matthias Köppe
Upstream fixed the underlying issue: libarchive/libarchive#1976 Edit: there it is #95. Note this doesn't change anything for us, since we were using autotools, which was always correct. |
Thanks Jaime! 🙏 So to confirm, are we good to merge PR ( #95 )? |
I think so, I'm rerunning the CI to compare the outputs with the previous version just in case. |
Yes, in 3.7.5 we have these for Linux:
and in 3.7.4:
For macOS, 3.7.5 has:
and 3.7.4 has:
so we are good to go! |
Solution to issue cannot be found in the documentation.
Issue
libarchive
, as packaged on conda-forge, follows a different SONAME scheme than the one suggested in upstream:For 3.5.2, this means
13+5=18
, solibarchive.so.18
. However, the contents of the tarballs listlibarchive.so.13.5.2
(?!) and, most importantly, it includes a symlink fromlibarchive.so.13 -> libarchive.so.13.5.2
, which would make this version collide with a (correctly SONAMEd) libarchive 3.1.Compare this to defaults:
conda-forge
defaults
Looks like defaults relies on CMake while conda-forge uses autotools, which might explain the difference. I think the bug is that what should be an arithmetical addition (13 + 5) is being treated as a string concatenation (13 + "5.2").
Fixing this would involve rebuilding downstream packages I guess.
Installed packages
Environment info
The text was updated successfully, but these errors were encountered: