hidden symbol `pthread_atfork' in /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a(pthread_atfork.oS) is referenced by DSO

Andreas Hasenack andreas at canonical.com
Tue Apr 17 12:47:15 UTC 2018


Hi,

yesterday evening, and today, I upgraded a bionic container where I was
building the nvml packages, and to my surprise a build that worked last
thursday stopped working today:

make[3]: Entering directory
'/home/ubuntu/nvdimm/nvml/nvml-git/src/examples/librpmem'
cc -o manpage manpage.o -Wl,-rpath=../../debug -L../../debug  -lrpmem
-pthread -lfabric
/usr/bin/x86_64-linux-gnu-ld: manpage: hidden symbol `pthread_atfork' in
/usr/lib/x86_64-linux-gnu/libpthread_nonshared.a(pthread_atfork.oS) is
referenced by DSO
/usr/bin/x86_64-linux-gnu-ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
../Makefile.inc:126: recipe for target 'manpage' failed
make[3]: *** [manpage] Error 1



The packages I upgraded/installed/removed today are
https://pastebin.ubuntu.com/p/mGFSdBPhNc/

Here is a build log from my ppa from last thursday (April 12th):
https://launchpadlibrarian.net/364846356/buildlog_ubuntu-bionic-amd64.nvml_1.3.1-0ubuntu1~ppa16_BUILDING.txt.gz

The same cc line worked there:
$ grep -E "Entering directory.*src/examples/librpmem" -A 2
buildlog_ubuntu-bionic-amd64.nvml_1.3.1-0ubuntu1_ppa16_BUILDING.txt
make[5]: Entering directory '/<<PKGBUILDDIR>>/src/examples/librpmem'
rm -f *.o
make[5]: Leaving directory '/<<PKGBUILDDIR>>/src/examples/librpmem'
--
make[5]: Entering directory '/<<PKGBUILDDIR>>/src/examples/librpmem'
rm -f *.o
make[5]: Leaving directory '/<<PKGBUILDDIR>>/src/examples/librpmem'
--
make[5]: Entering directory '/<<PKGBUILDDIR>>/src/examples/librpmem'
cc -c -o basic.o -std=gnu99 -ggdb -Wall -Werror -Wmissing-prototypes
-I../../include -I. -I../../examples basic.c
make[5]: Leaving directory '/<<PKGBUILDDIR>>/src/examples/librpmem'
--
make[5]: Entering directory '/<<PKGBUILDDIR>>/src/examples/librpmem'
cc -c -o manpage.o -std=gnu99 -ggdb -Wall -Werror -Wmissing-prototypes
-I../../include -I. -I../../examples manpage.c
make[5]: Leaving directory '/<<PKGBUILDDIR>>/src/examples/librpmem'
--
make[5]: Entering directory '/<<PKGBUILDDIR>>/src/examples/librpmem'
cc -o basic basic.o -Wl,-rpath=../../debug -L../../debug  -lrpmem -pthread
-lfabric
make[5]: Leaving directory '/<<PKGBUILDDIR>>/src/examples/librpmem'
--
make[5]: Entering directory '/<<PKGBUILDDIR>>/src/examples/librpmem'
cc -o manpage manpage.o -Wl,-rpath=../../debug -L../../debug  -lrpmem
-pthread -lfabric
make[5]: Leaving directory '/<<PKGBUILDDIR>>/src/examples/librpmem'


Any hints about what changed? Was this build relying on a bug before, that
got fixed now? Or was this a post-beta-freeze incompatible change?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20180417/6d115675/attachment.html>


More information about the ubuntu-devel mailing list