Package: undertaker
Version: 1.1-2
Severity: wishlist
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu oneiric ubuntu-patch

the package undertaker fails to build when using the linker flag --as-needed
This is caused by the libraries being placed before the objects which
need the symbols on the command line. So the library symbols are not
registered as needed.
See the log ubuntu bug:
https://bugs.launchpad.net/ubuntu/+source/undertaker/+bug/803209

Attached patch fixes this issue by using ordering the command line
correctly.
Description: fix build with ld --as-needed
 when building with ld --as-needed libraries must be placed
 after object files needing them on the command line so the symbols
 of the libraries are registered as needed.
Author: Julian Taylor <jtaylor.deb...@googlemail.com>
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/undertaker/+bug/803209

--- undertaker-1.1.orig/ziz/Makefile
+++ undertaker-1.1/ziz/Makefile
@@ -13,7 +13,7 @@ all: zizler
 Zizler.o: Zizler.cpp $(HEADERS)
 
 zizler: Zizler.o libziz.a
-	$(LDXX) -o $@ $(LDLIBS) $^
+	$(LDXX) -o $@ $^ $(LDLIBS)
 
 $(ZIZOBJ): $(HEADERS)
 libziz.a: $(ZIZOBJ) $(HEADERS)
--- undertaker-1.1.orig/undertaker/Makefile
+++ undertaker-1.1/undertaker/Makefile
@@ -12,7 +12,7 @@ CXXFLAGS = $(CFLAGS)
 
 LDFLAGS =
 # LDCOV = -coverage
-LDLIBS = -lstdc++ -lboost_system -lboost_regex -lboost_filesystem libparser.a ../ziz/libziz.a  -lpicosat -lboost_wave-mt $(LDCOV)
+LDLIBS = libparser.a ../ziz/libziz.a -lstdc++ -lboost_system -lboost_regex -lboost_filesystem -lpicosat -lboost_wave-mt $(LDCOV)
 
 PARSEROBJ = CloudContainer.o RsfReader.o KconfigWhitelist.o ConfigurationModel.o	\
 	    ModelContainer.o SatChecker.o CodeSatStream.o BlockDefectAnalyzer.o

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to