Package: fityk
Version: 1.2.1-0.1
Severity: wishlist
Tags: patch

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



*** /tmp/tmpooegSS/bug_body

In Ubuntu, the attached patch was applied to achieve the following:

  * Pass -lstdc++ in LIBS instead of LDFLAGS to fix FTBFS with --as-needed

Ubuntu passes ld --as-needed per default to the linker, fityk FTBFS with:

/bin/bash ./libtool  --tag=CC   --mode=link gcc  -g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security  -lstdc++ 
-Wl,-Bsymbolic-functions -Wl,-z,relro  -o samples/helloc 
samples/samples_helloc-hello.o fityk/libfityk.la -lm  -lreadline
libtool: link: gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -o 
samples/helloc samples/samples_helloc-hello.o  -lstdc++ fityk/.libs/libfityk.a 
/usr/lib/libxy.so -lbz2 -lz -llua5.1 -ldl -lm -lreadline
/usr/bin/ld: fityk/.libs/libfityk.a(libfityk_la-ast.o): undefined reference to 
symbol '_ZTISt14overflow_error@@GLIBCXX_3.4'
/usr/lib/gcc/i686-linux-gnu/4.8/libstdc++.so: error adding symbols: DSO missing 
from command line
collect2: error: ld returned 1 exit status
make[3]: *** [samples/helloc] Error 1

The library stdc++ is clearly in the wrong place on the link line for
- --as-needed (http://wiki.debian.org/ToolChain/DSOLinking).  This
probably doesn't affect Debian right now because --as-needed is a
positional option and only affects those libraries listed after it, but
Ubuntu's linker defaults to --as-needed right out of the gate.
Nevertheless, I believe that the debian-gcc team is tracking these
problems and wants to make Debian packages work cleanly with such a
linker.

Thanks for considering the patch.


- -- System Information:
Debian Release: jessie/sid
  APT prefers trusty
  APT policy: (700, 'trusty')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
armhf

Kernel: Linux 3.13.0-2-generic (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.15 (GNU/Linux)

iQIcBAEBAgAGBQJS2Y03AAoJEGHzRCZ03mYk2LwQAIEpenHdSdS+8TRy/pYuNYdy
Anv1F0ZLpy8mWSf93/q0fvdT4E6XU2/nG/3+gGTqAKfwqRHQKsXTvxknExLhPMyF
9+cWNTJBpmmJyy1zfRSpsjOrBZQMzXxLyeUmBN8fG0JWTh3VkqQrXQpQqox9lHTV
3L1Ypc1d+/NNrv8g4OWGsfN2IGZehnVU81JR3Zw3MeRKpt+T/zxuZa60V8b/jI6k
apjW1/Sqj3pOeRotSwnsZ77DEGnKGe1dKafMHsRopsuv6z3EOJDQ10YCxU+u8jy5
8++L7fwJeF5/3VMM73y/bK/l8nRfRbpFOo1B802gSQ2NxUzpBWV7NmDNuUJA6yFQ
sQV8x+HYkSJPZK154OwcnPUlpKzjsld1dMLTp8DsSZNiOC3mnkOxTco+BDQIWs7Z
PfvkPfCq/Df1ysAWDNAfJeUxhP+oIHlqV/P7jzsxLNMH4SVtbaHMR813IGUAWuHB
hQpXoSPmvyRbNQu61p8sER4UfKU8kD1Z8LXVzi3TcC4GOeQjsRwnGnJ2MqRofWW7
9yflJAtxnpBljqwB4DUotrVK+24qgeqwUWkFEAjgD4GC57dy/HQ18EyYkEXZngdb
x1St9f6ppiLXRhgDHdIuTDy8qnxHKirRLsTQVaTVNdhUyP/8lzlPm+l4Ml97QP++
L06ooN5Qy3KhnrqMME3I
=KwW7
-----END PGP SIGNATURE-----
diff -Nru fityk-1.2.1/debian/rules fityk-1.2.1/debian/rules
--- fityk-1.2.1/debian/rules	2014-01-01 18:38:10.000000000 +0100
+++ fityk-1.2.1/debian/rules	2014-01-17 20:49:36.000000000 +0100
@@ -3,7 +3,8 @@
 CPPFLAGS ?= $(shell dpkg-buildflags --get CPPFLAGS) -I/usr/include/lua5.1
 CFLAGS   ?= $(shell dpkg-buildflags --get CFLAGS)
 CXXFLAGS ?= $(shell dpkg-buildflags --get CXXFLAGS)
-LDFLAGS  ?= -lstdc++ $(shell dpkg-buildflags --get LDFLAGS) # -Wl,--as-needed
+LDFLAGS  ?= $(shell dpkg-buildflags --get LDFLAGS) # -Wl,--as-needed
+LIBS ?= -lstdc++
 
 %:
 	dh $@ --with autotools_dev --parallel
@@ -14,7 +15,8 @@
 	                     CPPFLAGS="$(CPPFLAGS)" \
 	                     CFLAGS="$(CFLAGS)" \
 	                     CXXFLAGS="$(CXXFLAGS)" \
-	                     LDFLAGS="$(LDFLAGS)"
+	                     LDFLAGS="$(LDFLAGS)" \
+			     LIBS="$(LIBS)"
 
 override_dh_auto_install:
 	dh_auto_install

Reply via email to