-
-
Notifications
You must be signed in to change notification settings - Fork 29
Open
Labels
Description
Solution to issue cannot be found in the documentation.
- I checked the documentation.
Issue
libarchive, as packaged on conda-forge, follows a different SONAME scheme than the one suggested in upstream:
# INTERFACE_VERSION increments with every release
# libarchive 2.7 == interface version 9 = 2 + 7
# libarchive 2.8 == interface version 10 = 2 + 8
# libarchive 2.9 == interface version 11 = 2 + 9
# libarchive 3.0 == interface version 12
# libarchive 3.1 == interface version 13
math(EXPR INTERFACE_VERSION "13 + ${_minor}")
# Set SOVERSION == Interface version
# ?? Should there be more here ??
SET(SOVERSION "${INTERFACE_VERSION}")For 3.5.2, this means 13+5=18, so libarchive.so.18. However, the contents of the tarballs list libarchive.so.13.5.2 (?!) and, most importantly, it includes a symlink from libarchive.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
libarchive-3.5.2-hb890918_2.tar.bz2
-rw-rw-r-- 0 1001 1001 1818396 May 18 09:00 lib/libarchive.a
-rw-rw-r-- 0 1001 1001 871 May 18 09:00 lib/pkgconfig/libarchive.pc
-rwxrwxr-x 0 1001 1001 921896 May 18 09:00 lib/libarchive.so.13.5.2
lrwxrwxrwx 0 1001 1001 0 May 18 09:00 lib/libarchive.so -> libarchive.so.13.5.2
lrwxrwxrwx 0 1001 1001 0 May 18 09:00 lib/libarchive.so.13 -> libarchive.so.13.5.2
libarchive-3.5.2-hccf745f_0.tar.bz2
lrwxrwxrwx 0 1001 1001 0 Aug 27 2021 lib/libarchive.so -> libarchive.so.13.5.2
-rw-rw-r-- 0 1001 1001 871 Aug 27 2021 lib/pkgconfig/libarchive.pc
-rwxrwxr-x 0 1001 1001 916664 Aug 27 2021 lib/libarchive.so.13.5.2
lrwxrwxrwx 0 1001 1001 0 Aug 27 2021 lib/libarchive.so.13 -> libarchive.so.13.5.2
-rw-rw-r-- 0 1001 1001 1808436 Aug 27 2021 lib/libarchive.a
libarchive-3.5.2-hccf745f_1.tar.bz2
lrwxrwxrwx 0 1001 1001 0 Sep 25 2021 lib/libarchive.so.13 -> libarchive.so.13.5.2
-rw-rw-r-- 0 1001 1001 1808436 Sep 25 2021 lib/libarchive.a
lrwxrwxrwx 0 1001 1001 0 Sep 25 2021 lib/libarchive.so -> libarchive.so.13.5.2
-rw-rw-r-- 0 1001 1001 871 Sep 25 2021 lib/pkgconfig/libarchive.pc
-rwxrwxr-x 0 1001 1001 916664 Sep 25 2021 lib/libarchive.so.13.5.2
defaults
libarchive-3.5.2-h5de8990_0.tar.bz2
-rw-rw-r-- 0 0 0 930 Jun 3 13:21 lib/pkgconfig/libarchive.pc
lrwxrwxrwx 0 0 0 0 Jun 3 13:22 lib/libarchive.so -> libarchive.so.18
-rw-rw-r-- 0 0 0 1813266 Jun 3 13:22 lib/libarchive.a
-rwxrwxr-x 0 0 0 912576 Jun 3 13:22 lib/libarchive.so.18
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
N/AEnvironment info
N/AReactions are currently unavailable