Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 684560 - sys-libs/glibc-2.28 should install libpthread_nonshared.a
Summary: sys-libs/glibc-2.28 should install libpthread_nonshared.a
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-28 08:47 UTC by Ortwin Glueck
Modified: 2019-04-29 10:42 UTC (History)
1 user (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 Ortwin Glueck 2019-04-28 08:47:04 UTC
libpthread_nonshared.a is required by Oracle installations. This breaks ABI.

Fedora solved it with a compat package:
https://bugzilla.redhat.com/show_bug.cgi?id=1625507
Comment 1 Sergei Trofimovich (RETIRED) gentoo-dev 2019-04-28 12:59:35 UTC
(In reply to Ortwin Glueck from comment #0)
> libpthread_nonshared.a is required by Oracle installations. This breaks ABI.

Presence or absence of a static internal library is arguably not an ABI. It's a very low level implementation detail.

Do you have a build.log for gentoo package that exhibits a failure? The fix is probably a one-liner.

> Fedora solved it with a compat package:
> https://bugzilla.redhat.com/show_bug.cgi?id=1625507

That is a workaround and upstream does not plan to add the library back:
    https://sourceware.org/bugzilla/show_bug.cgi?id=23500

I suggest you to file a bug against the vendor (Oracle?) to fix it properly.

As a workaround you can craft a standalone package that creates empty libpthread_nonshared.a library.
Comment 2 Ortwin Glueck 2019-04-29 10:10:17 UTC
OK, thank you. I just created an empty archive manually (would be trivial to add to the ebuild):
# cat /usr/lib64/libpthread_nonshared.a
!<arch>

This solves the problem mainly.

For reference also $ORACLE_HOME/lib/stubs/libc.so
GROUP ( /usr/lib64/libc.so /usr/lib64/libc_nonshared.a )

using system glibc now so all stack protector symbols like __stack_chk_fail resolve.

Filing a bug against an old Oracle version is not a solution for me. It won't ever get fixed, especially since Oracle doesn't even list Gentoo as a supported system. But hey, we can make it work anyway. We are using Gentoo on almost all our Linux servers and I don't want to migrate to Oracle Linux just because...
Comment 3 Sergei Trofimovich (RETIRED) gentoo-dev 2019-04-29 10:42:09 UTC
(In reply to Ortwin Glueck from comment #2)
> I just created an empty archive manually (would be trivial to
> add to the ebuild)
> # cat /usr/lib64/libpthread_nonshared.a
> !<arch>

I suggest adding the workaround into your local oracle ebuild or have a standalone local package for it.