[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.
Confirmed: identical experience with ffmpeg-3.3 which failed to run and gave the same diagnostic.
This is obsolete by now I think
(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.
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
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?