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

Bug 893820

Summary: dev-python/mysqlclient-2.1.1 fails tests (HARDENED-SYSTEM): mariadbd: error while loading shared libraries: libbfd-2.40.gentoo-sys-libs-binutils-libs-st-def.so: cannot open shared object file: No such file or directory
Product: Gentoo Linux Reporter: Agostino Sarubbo <ago>
Component: Current packagesAssignee: Matthew Thode ( prometheanfire ) <prometheanfire>
Status: RESOLVED INVALID    
Severity: normal CC: mgorny, python
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log

Description Agostino Sarubbo gentoo-dev 2023-02-10 08:18:47 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: dev-python/mysqlclient-2.1.1 fails tests (HARDENED-SYSTEM).
Discovered on: amd64 (internal ref: hardened_tinderbox)

NOTE:
(HARDENED-SYSTEM) in the summary means that the bug was found on a machine that runs an hardened profile with -D_FORTIFY_SOURCE=3 and -D_GLIBCXX_ASSERTIONS (https://www.gentoo.org/support/news-items/2023-01-01-hardening-fortify-assertions.html) but this bug MAY or MAY NOT BE related to the changes related to hardened.
Comment 1 Agostino Sarubbo gentoo-dev 2023-02-10 08:18:49 UTC
Created attachment 850336 [details]
build.log

build log and emerge --info
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2023-02-10 14:06:14 UTC
This is a problem with the server, not this package, and it looks like it didn't get rebuilt after binutils upgrade.
Comment 3 Agostino Sarubbo gentoo-dev 2023-02-10 16:25:41 UTC
Thanks for the info.

seems that it looks like for libbfd-2.40.gentoo-sys-libs-binutils-libs-st-def.so
while I just have:

$ qlist -e binutils | grep "libbfd"
/usr/lib64/binutils/x86_64-pc-linux-gnu/2.40/libbfd-2.40.0.gentoo-sys-devel-binutils-st.so
/usr/lib64/binutils/x86_64-pc-linux-gnu/2.40/libbfd.so

Note the "-def" suffix
Comment 4 Arfrever Frehtes Taifersar Arahesis 2023-02-10 20:53:19 UTC
(In reply to Agostino Sarubbo from comment #3)
> seems that it looks like for libbfd-2.40.gentoo-sys-libs-binutils-libs-st-def.so while I just have:

Required library belongs to sys-libs/binutils-libs, while your output shows only sys-devel/binutils:

> $ qlist -e binutils | grep "libbfd"
> /usr/lib64/binutils/x86_64-pc-linux-gnu/2.40/libbfd-2.40.0.gentoo-sys-devel-binutils-st.so
> /usr/lib64/binutils/x86_64-pc-linux-gnu/2.40/libbfd.so

Ebuilds have SLOT="0/${PV%_p?}", but also:
> 		# We pull in all USE-flags that change ABI in an incompatible
> 		# way. #666100
> 		# USE=multitarget change size of global arrays
> 		# USE=64-bit-bfd changes data structures of exported API
> 		--with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def)

Switching of "multitarget" or "64-bit-bfd" USE flag within the same version of sys-libs/binutils-libs (without upgrade/downgrade) also changes ABI and changes soname of library, but does not affect subslot (SLOT value cannot depend on USE flags in currently available EAPIs), so package manager is not aware of the need to rebuild reverse dependencies.
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-02-18 07:11:02 UTC
*** Bug 895178 has been marked as a duplicate of this bug. ***
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-02-18 07:12:01 UTC
Quoting my comment at https://bugs.gentoo.org/895178#c4:

"""
This is basically guaranteed to be a dup of bug 893820. It's
likely that the >symengine binpkg was built against a different sys-libs/binutils-libs.

Unfortunately, the situation is similar to dev-lang/perl where
USE flags break >ABI and we can't represent that in subslots (see bug 680496).

The only thing we could really do is minimise the number of USE flags on sys-libs/binutils-libs (remove/always-enable/mask/force on multitarget and/or 64-
bit-bfd) and/or add a warning when any of those flags changes, like in Perl.
"""