Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 616054

Summary: dev-libs/libcdio-paranoia-0.94_p1: breaks ABI without bumping SONAME
Product: Gentoo Linux Reporter: Michał Górny <mgorny>
Component: Current packagesAssignee: Gentoo Sound Team <sound>
Status: CONFIRMED ---    
Severity: normal CC: fkobi, kripton
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=603916
https://savannah.gnu.org/bugs/index.php?50978
https://github.com/gentoo/gentoo/pull/4582
Whiteboard:
Package list:
Runtime testing required: ---

Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-04-19 21:36:42 UTC
[binary     U ~] dev-libs/libcdio-paranoia-0.94_p1-1::gentoo [0.93_p1-r1::gentoo] USE="cxx -static-libs {-test}" ABI_X86="32 64 -x32" 0 KiB

(this is a binpkg I've built earlier)

After upgrading, I get:

$ mpv
mpv: /usr/lib64/libcdio_paranoia.so.2: version `CDIO_PARANOIA_2' not found (required by mpv)
mpv: /usr/lib64/libcdio_cdda.so.2: version `CDIO_CDDA_2' not found (required by mpv)
mpv: /usr/lib64/libcdio_paranoia.so.2: version `CDIO_PARANOIA_2' not found (required by /usr/lib64/libavdevice.so.57)
mpv: /usr/lib64/libcdio_cdda.so.2: version `CDIO_CDDA_2' not found (required by /usr/lib64/libavdevice.so.57)

which indicates that the upstream changed symbol versions without changing SONAME. While symbol versioning can sometimes save people from bumping SONAME, it requires that the upstream *keeps* old ABI available using the old symbol version.
Comment 1 Adrian Bassett 2017-04-20 18:17:17 UTC
Confirmed:  identical experience with ffmpeg-3.3 which failed to run and gave the same diagnostic.
Comment 2 Filip Kobierski 2025-01-20 18:54:48 UTC
This is obsolete by now I think
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-01-20 19:19:42 UTC
(In reply to Filip Kobierski from comment #2)
> This is obsolete by now I think

Please be more specific and show why you believe it is.
Comment 4 Filip Kobierski 2025-01-20 20:32:00 UTC
1. this concerns a package that has not been in the repos for a long time
   and from what I understand this concerns updates to 0.94_p1-1.
2. I have upgraded from 2.0.1 to 2.0.2 with this env

```
CFLAGS="${CFLAGS}     -frecord-gcc-switches"
CXXFLAGS="${CXXFLAGS} -frecord-gcc-switches"
FCFLAGS="${FCFLAGS}   -frecord-gcc-switches"
FFLAGS="${FFLAGS}     -frecord-gcc-switches"

LDFLAGS="${LDFLAGS} -Wl,--defsym=__gentoo_check_ldflags__=0"
FEATURES="collision-protect ipc-sandbox network-sandbox sandbox split-log split-elog strict test userfetch userpriv usersandbox"
```
and got this:
 * CMP: dev-libs/libcdio-2.2.0/image with dev-libs/libcdio-2.1.0-r2/image
 *  FILES:-usr/lib64/libiso9660++.so.1
 *  FILES:-usr/lib64/libiso9660++.so.1.0.0
 *  FILES:+usr/lib64/libiso9660++.so.*
 *  FILES:+usr/lib64/libiso9660++.so.0.0.0
 *  FILES:-usr/lib64/libiso9660.so.12
 *  FILES:-usr/lib64/libiso9660.so.12.0.0
 *  FILES:+usr/lib64/libiso9660.so.11
 *  FILES:+usr/lib64/libiso9660.so.11.0.0
 *  FILES:-usr/share/doc/libcdio-*/README-libcdio.md.bz2
 *  FILES:-usr/share/doc/libcdio-*/README.md.bz2
 *  FILES:+usr/share/doc/libcdio-*/README.bz2
 *  FILES:+usr/share/doc/libcdio-*/README.libcdio.bz2
 *  FILES:+usr/share/doc/libcdio-*/TODO.bz2
 *  SONAME:-libiso9660++.so.1(64)
 *  SONAME:-libiso9660.so.12(64)
 *  SONAME:+libiso9660++.so.0(64)
 *  SONAME:+libiso9660.so.11(64)
 * ------> FILES(+7,-6) SONAME(+2,-2) ABI(nodebug)

libcdio_paranoia.so.2 has not changed
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-01-20 20:53:14 UTC
It's about the ABI break in an *old* version, but the question is which version in Gentoo that patch in the linked upstream bug first landed in. Was it ever backported, etc?