Public bug reported:

Hi Folks,

I am building software package (Enduro/X Middleware, from 5.4 github
branch with System V queues support, particularly this file
https://github.com/endurox-dev/endurox/blob/5.4/libnstd/sys_svqevent.c
in question) with using Ubuntu standard build tools (GCC, etc..) and I
get error:

===============================================
...
[  3%] Building C object libnstd/CMakeFiles/nstd.dir/sys_svqevent.c.o
cd /home/user1/endurox/libnstd && /usr/bin/cc -Dnstd_EXPORTS 
-I/home/user1/endurox/libnstd/. -I/home/user1/endurox/libnstd/../include  
-Wno-format-truncation -Wstringop-overflow=0 -D_DEFAULT_SOURCE=1  -g -fPIC   -o 
CMakeFiles/nstd.dir/sys_svqevent.c.o   -c 
/home/user1/endurox/libnstd/sys_svqevent.c
[  3%] Building C object libnstd/CMakeFiles/nstd.dir/nstd_sem.c.o
cd /home/user1/endurox/libnstd && /usr/bin/cc -Dnstd_EXPORTS 
-I/home/user1/endurox/libnstd/. -I/home/user1/endurox/libnstd/../include  
-Wno-format-truncation -Wstringop-overflow=0 -D_DEFAULT_SOURCE=1  -g -fPIC   -o 
CMakeFiles/nstd.dir/nstd_sem.c.o   -c /home/user1/endurox/libnstd/nstd_sem.c
[  3%] Building C object libnstd/CMakeFiles/nstd.dir/sys_svqadmin.c.o
cd /home/user1/endurox/libnstd && /usr/bin/cc -Dnstd_EXPORTS 
-I/home/user1/endurox/libnstd/. -I/home/user1/endurox/libnstd/../include  
-Wno-format-truncation -Wstringop-overflow=0 -D_DEFAULT_SOURCE=1  -g -fPIC   -o 
CMakeFiles/nstd.dir/sys_svqadmin.c.o   -c 
/home/user1/endurox/libnstd/sys_svqadmin.c
[  3%] Linking C shared library libnstd.so
cd /home/user1/endurox/libnstd && /usr/bin/cmake -E cmake_link_script 
CMakeFiles/nstd.dir/link.txt --verbose=1
/usr/bin/cc -fPIC -Wno-format-truncation -Wstringop-overflow=0 
-D_DEFAULT_SOURCE=1  -g  -shared -Wl,-soname,libnstd.so -o libnstd.so 
CMakeFiles/nstd.dir/ndebug.c.o CMakeFiles/nstd.dir/nstdutil.c.o 
CMakeFiles/nstd.dir/nstopwatch.c.o CMakeFiles/nstd.dir/nclopt.c.o 
CMakeFiles/nstd.dir/benchmark.c.o CMakeFiles/nstd.dir/ini.c.o 
CMakeFiles/nstd.dir/inicfg.c.o CMakeFiles/nstd.dir/cconfig.c.o 
CMakeFiles/nstd.dir/nerror.c.o CMakeFiles/nstd.dir/nstd_tls.c.o 
CMakeFiles/nstd.dir/ulog.c.o CMakeFiles/nstd.dir/sys_genunix.c.o 
CMakeFiles/nstd.dir/sys_svqpoll.c.o CMakeFiles/nstd.dir/sys_linux.c.o 
CMakeFiles/nstd.dir/sys_common.c.o CMakeFiles/nstd.dir/sys_posixq.c.o 
CMakeFiles/nstd.dir/sys_svq.c.o CMakeFiles/nstd.dir/tplog.c.o 
CMakeFiles/nstd.dir/exregex.c.o CMakeFiles/nstd.dir/platform.c.o 
CMakeFiles/nstd.dir/msgsizemax.c.o CMakeFiles/nstd.dir/exaes.c.o 
CMakeFiles/nstd.dir/exsha1.c.o CMakeFiles/nstd.dir/exbase64.c.o 
CMakeFiles/nstd.dir/crypto.c.o CMakeFiles/nstd.dir/expluginbase.c.o 
CMakeFiles/nstd.dir/lmdb/eidl.c.o CMakeFiles/nstd.dir/lmdb/edb.c.o 
CMakeFiles/nstd.dir/edbutil.c.o CMakeFiles/nstd.dir/crc32.c.o 
CMakeFiles/nstd.dir/nstd_shm.c.o CMakeFiles/nstd.dir/sys_svqshm.c.o 
CMakeFiles/nstd.dir/sys_svqevent.c.o CMakeFiles/nstd.dir/nstd_sem.c.o 
CMakeFiles/nstd.dir/sys_svqadmin.c.o 
make[2]: Leaving directory '/home/user1/endurox'

...
[  8%] Building C object ubftest/CMakeFiles/testedbsync.dir/test_nstd_msync.c.o
cd /home/user1/endurox/ubftest && /usr/bin/cc  -I/home/user1/endurox/libubf 
-I/home/user1/endurox/include -I/home/user1/endurox/libnstd  
-Wno-format-truncation -Wstringop-overflow=0 -D_DEFAULT_SOURCE=1  -g   -D 
UBF_DEBUG -o CMakeFiles/testedbsync.dir/test_nstd_msync.c.o   -c 
/home/user1/endurox/ubftest/test_nstd_msync.c
[  9%] Linking C executable testedbsync
cd /home/user1/endurox/ubftest && /usr/bin/cmake -E cmake_link_script 
CMakeFiles/testedbsync.dir/link.txt --verbose=1
/usr/bin/cc -Wno-format-truncation -Wstringop-overflow=0 -D_DEFAULT_SOURCE=1  
-g  -rdynamic CMakeFiles/testedbsync.dir/test_nstd_msync.c.o  -o testedbsync  
-L/home/user1/endurox/libubf 
-Wl,-rpath,/home/user1/endurox/libubf:/home/user1/endurox/libnstd 
../libubf/libubf.so ../libcgreen/libcgreen.a -lm ../libnstd/libnstd.so -lrt 
-ldl -pthread -lpthread 
/usr/bin/x86_64-linux-gnu-ld: testedbsync: 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
ubftest/CMakeFiles/testedbsync.dir/build.make:97: recipe for target 
'ubftest/testedbsync' failed
make[2]: *** [ubftest/testedbsync] Error 1
make[2]: Leaving directory '/home/user1/endurox'
CMakeFiles/Makefile2:538: recipe for target 
'ubftest/CMakeFiles/testedbsync.dir/all' failed
make[1]: *** [ubftest/CMakeFiles/testedbsync.dir/all] Error 2
make[1]: Leaving directory '/home/user1/endurox'
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2
user1@ubuntu18:~/endurox$ 

===============================================

So basically binary links against shared library which uses
pthread_atfork().

On Ubuntu 14.04 it is building fine. So seems some kind of issue with
Posix threads library. As I read in manpage there is no specific use or
limitations of the function. Also I tried to build on IBM AIX, there are
no issues too with this code. Thus I consider it is bug in the Ubuntu
operating system.

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: gcc 4:7.3.0-3ubuntu2
ProcVersionSignature: Ubuntu 4.15.0-34.37-generic 4.15.18
Uname: Linux 4.15.0-34-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.1
Architecture: amd64
Date: Tue Oct  9 10:35:20 2018
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/sh
SourcePackage: gcc-defaults
UpgradeStatus: No upgrade log present (probably fresh install)

** Affects: gcc-defaults (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug bionic uec-images

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1796858

Title:
  Building process fails with hidden symbol `pthread_atfork'

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-defaults/+bug/1796858/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to