Bug#729163: tango: FBTFS on sparc64

Aurelien Jarno aurel32 at debian.org
Sat Nov 9 18:04:07 UTC 2013


Source: tango
Version: 8.1.2c+dfsg-1
Severity: important
Tags: upstream patch
Justification: fails to build from source

tango fails to build from source on sparc64 with the following error:

| /bin/bash ../../libtool  --tag=CXX   --mode=link g++ -Wall -D_FORTIFY_SOURCE=2 -O1 -fpie -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -std=c++11   -D_REENTRANT -DOMNI_UNLOADABLE_STUBS -Wl,-z,now -pie  -Wl,-z,relro -o DataBaseds ClassFactory.o DataBaseClass.o DataBase.o DataBaseStateMachine.o main.o update_starter.o DataBaseUtils.o -L../../lib/cpp/server -ltango -L../../lib/cpp/log4tango/src -llog4tango  -lmysqlclient_r -L/usr/lib -lz  -lzmq   -lpthread -lnsl -ldl -L/usr/lib -lomniORB4 -lomniDynamic4 -lCOS4  -lpthread -lomnithread -lnsl -L/usr/lib  -lpthread -lomnithread -lpthread
| libtool: link: g++ -Wall -D_FORTIFY_SOURCE=2 -O1 -fpie -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -std=c++11 -D_REENTRANT -DOMNI_UNLOADABLE_STUBS -Wl,-z -Wl,now -pie -Wl,-z -Wl,relro -o .libs/DataBaseds ClassFactory.o DataBaseClass.o DataBase.o DataBaseStateMachine.o main.o update_starter.o DataBaseUtils.o  -L../../lib/cpp/server /«BUILDDIR»/tango-8.1.2c+dfsg/build/lib/cpp/server/.libs/libtango.so -L../../lib/cpp/log4tango/src /«BUILDDIR»/tango-8.1.2c+dfsg/build/lib/cpp/log4tango/src/.libs/liblog4tango.so -lmysqlclient_r -L/usr/lib -lz -lzmq -ldl -lomniORB4 -lomniDynamic4 -lCOS4 -lnsl -lomnithread -lpthread
| DataBaseClass.o: In function `Tango::Logging::get_core_logger()':
| /«BUILDDIR»/tango-8.1.2c+dfsg/build/cppserver/database/../../../lib/cpp/server/logging.h:98:(.text+0x10): relocation truncated to fit: R_SPARC_GOT13 against symbol `Tango::_core_logger' defined in .bss section in /«BUILDDIR»/tango-8.1.2c+dfsg/build/lib/cpp/server/.libs/libtango.so
| /«BUILDDIR»/tango-8.1.2c+dfsg/build/cppserver/database/../../../lib/cpp/server/logging.h:98:(.text+0xd0): relocation truncated to fit: R_SPARC_GOT13 against symbol `Tango::_core_logger' defined in .bss section in /«BUILDDIR»/tango-8.1.2c+dfsg/build/lib/cpp/server/.libs/libtango.so
| /«BUILDDIR»/tango-8.1.2c+dfsg/build/cppserver/database/../../../lib/cpp/server/logging.h:98:(.text+0x190): relocation truncated to fit: R_SPARC_GOT13 against symbol `Tango::_core_logger' defined in .bss section in /«BUILDDIR»/tango-8.1.2c+dfsg/build/lib/cpp/server/.libs/libtango.so
| /«BUILDDIR»/tango-8.1.2c+dfsg/build/cppserver/database/../../../lib/cpp/server/logging.h:98:(.text+0x250): relocation truncated to fit: R_SPARC_GOT13 against symbol `Tango::_core_logger' defined in .bss section in /«BUILDDIR»/tango-8.1.2c+dfsg/build/lib/cpp/server/.libs/libtango.so
| /«BUILDDIR»/tango-8.1.2c+dfsg/build/cppserver/database/../../../lib/cpp/server/logging.h:98:(.text+0x310): relocation truncated to fit: R_SPARC_GOT13 against symbol `Tango::_core_logger' defined in .bss section in /«BUILDDIR»/tango-8.1.2c+dfsg/build/lib/cpp/server/.libs/libtango.so
| /«BUILDDIR»/tango-8.1.2c+dfsg/build/cppserver/database/../../../lib/cpp/server/logging.h:98:(.text+0x3d0): relocation truncated to fit: R_SPARC_GOT13 against symbol `Tango::_core_logger' defined in .bss section in /«BUILDDIR»/tango-8.1.2c+dfsg/build/lib/cpp/server/.libs/libtango.so
| /«BUILDDIR»/tango-8.1.2c+dfsg/build/cppserver/database/../../../lib/cpp/server/logging.h:98:(.text+0x490): relocation truncated to fit: R_SPARC_GOT13 against symbol `Tango::_core_logger' defined in .bss section in /«BUILDDIR»/tango-8.1.2c+dfsg/build/lib/cpp/server/.libs/libtango.so
| /«BUILDDIR»/tango-8.1.2c+dfsg/build/cppserver/database/../../../lib/cpp/server/logging.h:98:(.text+0x550): relocation truncated to fit: R_SPARC_GOT13 against symbol `Tango::_core_logger' defined in .bss section in /«BUILDDIR»/tango-8.1.2c+dfsg/build/lib/cpp/server/.libs/libtango.so
| /«BUILDDIR»/tango-8.1.2c+dfsg/build/cppserver/database/../../../lib/cpp/server/logging.h:98:(.text+0x610): relocation truncated to fit: R_SPARC_GOT13 against symbol `Tango::_core_logger' defined in .bss section in /«BUILDDIR»/tango-8.1.2c+dfsg/build/lib/cpp/server/.libs/libtango.so
| /«BUILDDIR»/tango-8.1.2c+dfsg/build/cppserver/database/../../../lib/cpp/server/logging.h:98:(.text+0x6d0): relocation truncated to fit: R_SPARC_GOT13 against symbol `Tango::_core_logger' defined in .bss section in /«BUILDDIR»/tango-8.1.2c+dfsg/build/lib/cpp/server/.libs/libtango.so
| /«BUILDDIR»/tango-8.1.2c+dfsg/build/cppserver/database/../../../lib/cpp/server/logging.h:98:(.text+0x790): additional relocation overflows omitted from the output
| collect2: error: ld returned 1 exit status
| make[4]: *** [DataBaseds] Error 1

This is due to the usage of -fpie instead of -fPIE, which create a too
big GOT table. The following patch fixes the issue:

--- tango-8.1.2c+dfsg.orig/cppserver/database/Makefile.am
+++ tango-8.1.2c+dfsg/cppserver/database/Makefile.am
@@ -6,7 +6,7 @@ INCLUDES = $(ORB_INCLUDE_PREFIX)  $(LIBZ
       	$(MYSQLCLIENT_CFLAGS) \
       	$(ZLIB_CPPFLAGS)
 
-AM_CXXFLAGS= -Wall -D_FORTIFY_SOURCE=2 -O1 -fpie
+AM_CXXFLAGS= -Wall -D_FORTIFY_SOURCE=2 -O1 -fPIE
 
 LDADD = -L$(top_builddir)/lib/cpp/server -ltango -L$(top_builddir)/lib/cpp/log4tango/src \
 		-llog4tango $(MYSQLCLIENT_LDFLAGS) \
--- tango-8.1.2c+dfsg.orig/cppserver/database/Makefile.in
+++ tango-8.1.2c+dfsg/cppserver/database/Makefile.in
@@ -327,7 +327,7 @@ INCLUDES = $(ORB_INCLUDE_PREFIX)  $(LIBZ
       	$(MYSQLCLIENT_CFLAGS) \
       	$(ZLIB_CPPFLAGS)
 
-AM_CXXFLAGS = -Wall -D_FORTIFY_SOURCE=2 -O1 -fpie
+AM_CXXFLAGS = -Wall -D_FORTIFY_SOURCE=2 -O1 -fPIE
 LDADD = -L$(top_builddir)/lib/cpp/server -ltango -L$(top_builddir)/lib/cpp/log4tango/src \
 		-llog4tango $(MYSQLCLIENT_LDFLAGS) \
          $(MYSQLCLIENT_LIBS) $(ZLIB_LDFLAGS) $(ZLIB_LIBS)  $(LIBZMQ_LIBS)

Would it be possible to include it in the next upload? Thanks in advance

-- System Information:
Debian Release: jessie/sid
  APT prefers unreleased
  APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: sparc64

Kernel: Linux 3.2.0-4-sparc64
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash



More information about the debian-science-maintainers mailing list