Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 616054 - dev-libs/libcdio-paranoia-0.94_p1: breaks ABI without bumping SONAME
Summary: dev-libs/libcdio-paranoia-0.94_p1: breaks ABI without bumping SONAME
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-04-19 21:36 UTC by Michał Górny
Modified: 2025-01-20 20:53 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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?