BIND 10 #1006: loader error for sunstudio build
BIND 10 Development
do-not-reply at isc.org
Thu Jun 9 23:49:39 UTC 2011
#1006: loader error for sunstudio build
-------------------------------------+-------------------------------------
Reporter: jinmei | Owner: jreed
Type: defect | Status: new
Priority: major | Milestone: Next-
Component: build system | Sprint-Proposed
Sensitive: 0 | Keywords:
Sub-Project: DNS | Defect Severity: High
Estimated Difficulty: 0 | Feature Depending on Ticket:
Total Hours: 0 | Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
I figured out the root cause of the run time failure for the sunstudio
build:
http://bind10.isc.org/~tester/builder/BIND10/20110609145000-Solaris10
-sparc-Sunstudio/logs/build.out
This is because "-pthreads" was passed to the linker when it builds a
program that uses liblog4cplus. '-p xxx' has a different meaning for
the Solaris (SunStudio?) linker, which is why we saw "threads" in a
strange ELF section of the resulting binary.
This flag actually comes from the inherited_linker_flags variable set
in ~jreed/opt/log4cplus-1.0.4-sunstudio/lib/liblog4cplus.la, and,
it then turned out to come from the configure script of
log4cplus. More precisely, it's because log4cplus/m4/ax_pthread.m4
sets PTHREAD_CFLAGS to this value unconditionally for Solaris, even if
-pthreads isn't meaningful for SunStudio (actually it's even harmful
as we saw).
A workaround is to rebuild log4cplus with setting PTHREAD_CFLAGS to
something non null (but that doesn't break the build).
% ./configure PTHREAD_CFLAGS=" " CXX=/usr/bin/CC
worked for me.
We should also note this trap somewhere in our release notes.
For a longer term we should probably report this to the log4cplus
developers.
--
Ticket URL: <http://bind10.isc.org/ticket/1006>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list