[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#632562: trophy: FTBFS with ld --as-needed



Package: trophy
Version: 1.1.6-3
Severity: normal
Tags: upstream patch
User: debian-gcc@lists.debian.org
Usertags: ld-as-needed

The package fails to build when --as-needed linker option is enabled,
because of incorrect order of parameters passed to ld. Here's a log of
failed build in Ubuntu:
https://launchpadlibrarian.net/70927222/buildlog_ubuntu-oneiric-i386.trophy_1.1.6-3_FAILEDTOBUILD.txt.gz

See also
http://wiki.debian.org/ToolChain/DSOLinking#Only_link_with_needed_libraries

The attached patch was used in Ubuntu to fix the problem.
https://launchpad.net/ubuntu/+source/trophy/1.1.6-3ubuntu1

-- System Information:
Debian Release: wheezy/sid
  APT prefers oneiric
  APT policy: (500, 'oneiric')
Architecture: i386 (i686)

Kernel: Linux 2.6.38-10-generic (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Description: Place libaries in another variable to fix build problem with
 --as-needed linker option.
Author: Ilya Barygin <barygin@gmail.com>
Bug-Ubuntu: https://launchpad.net/bugs/803207

--- trophy-1.1.6.orig/src/Makefile.am
+++ trophy-1.1.6/src/Makefile.am
@@ -13,6 +13,6 @@ trophy_SOURCES = cagoody.cpp cainfodialo
 		 caslotselectiondialog.h
 
 CLANLIB_MODULES = clanSignals-1.0 clanGL-1.0 clanCore-1.0 clanSound-1.0 clanDisplay-1.0 clanApp-1.0
-AM_LDFLAGS = `pkg-config --libs $(CLANLIB_MODULES)`
+LIBS += `pkg-config --libs $(CLANLIB_MODULES)`
 INCLUDES = `pkg-config --cflags $(CLANLIB_MODULES)`
 AM_CPPFLAGS = -DPKGDATADIR=\"$(pkgdatadir)\"
--- trophy-1.1.6.orig/src/Makefile.in
+++ trophy-1.1.6/src/Makefile.in
@@ -177,7 +177,7 @@ trophy_SOURCES = cagoody.cpp cainfodialo
 		 caslotselectiondialog.cpp cafogbomb.h caimageview.h camenu.cpp canetclient.h capositiontable.cpp \
 		 caslotselectiondialog.h
 
-AM_LDFLAGS = `pkg-config --libs $(CLANLIB_MODULES)`
+LIBS += `pkg-config --libs $(CLANLIB_MODULES)`
 INCLUDES = `pkg-config --cflags $(CLANLIB_MODULES)`
 AM_CPPFLAGS = -DPKGDATADIR=\"$(pkgdatadir)\"
 all: all-am

Reply to: