Package: jugglemaster
Version: 0.4-5
Severity: normal
Tags: patch
User: [email protected]
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/73360283/buildlog_ubuntu-oneiric-i386.jugglemaster_0.4-5_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/jugglemaster/0.4-5ubuntu1

-- 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: Fix order of parameters passed to ld. Fixes FTBFS when linking
 with --as-needed.
Author: Ilya Barygin <[email protected]>
Bug-Ubuntu: https://launchpad.net/bugs/770910
--- jugglemaster-0.4.orig/src/aajm/Makefile
+++ jugglemaster-0.4/src/aajm/Makefile
@@ -1,7 +1,7 @@
 include ../../Makefile.cfg
 
 CXXFLAGS+=-Wall -pedantic -fsigned-char `aalib-config --cflags`
-LDFLAGS+=`aalib-config --libs`
+LIBS+=`aalib-config --libs`
 BINARY=aajm
 INSTALL=install
 
@@ -14,7 +14,7 @@ OBJ=aa_drawcircle.o aa_drawline.o aajm.o
 all: aajm aajm-remote
 
 aajm: jm_lib $(OBJ)
-	$(CXX) $(LDFLAGS) -o $(BINARY) $(OBJ) ../jmlib/jmlib.a
+	$(CXX) $(LDFLAGS) -o $(BINARY) $(OBJ) ../jmlib/jmlib.a $(LIBS)
 
 jm_lib:
 	$(MAKE) -C ../jmlib

Reply via email to