Package: service-wrapper-java Version: 3.5.3-3 Severity: normal Tags: upstream patch
service-wrapper-java 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://launchpad.net/ubuntu/+source/service-wrapper-java/3.5.3-3/+build/2858567/+files/buildlog_ubuntu-precise-i386.service-wrapper-java_3.5.3-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/service-wrapper-java/3.5.3-3ubuntu1 -- System Information: Debian Release: wheezy/sid APT prefers oneiric-updates APT policy: (500, 'oneiric-updates'), (500, 'oneiric-security'), (500, 'oneiric-proposed'), (500, 'oneiric'), (100, 'oneiric-backports') Architecture: i386 (i686) Kernel: Linux 3.0.0-13-generic (SMP w/2 CPU cores) Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
Description: fix FTBFS with --as-needed linker option Libraries should be put after object files when calling linker. Author: Ilya Barygin <randomact...@ubuntu.com> --- service-wrapper-java-3.5.3.orig/src/c/Makefile-linux-x86-32.make +++ service-wrapper-java-3.5.3/src/c/Makefile-linux-x86-32.make @@ -33,10 +33,10 @@ if test ! -d .deps; then mkdir .deps; fi wrapper: $(wrapper_SOURCE) - $(COMPILE) -lm -pthread $(wrapper_SOURCE) -o $(BIN)/wrapper + $(COMPILE) -pthread $(wrapper_SOURCE) -lm -o $(BIN)/wrapper libwrapper.so: $(libwrapper_so_OBJECTS) - ${COMPILE} -lm -shared -fPIC $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so + ${COMPILE} -shared -fPIC $(libwrapper_so_OBJECTS) -lm -o $(LIB)/libwrapper.so %.o: %.c @echo '$(COMPILE) -c $<'; \ --- service-wrapper-java-3.5.3.orig/src/c/Makefile-linux-x86-64.make +++ service-wrapper-java-3.5.3/src/c/Makefile-linux-x86-64.make @@ -33,10 +33,10 @@ if test ! -d .deps; then mkdir .deps; fi wrapper: $(wrapper_SOURCE) - $(COMPILE) -lm -pthread $(wrapper_SOURCE) -o $(BIN)/wrapper + $(COMPILE) -pthread $(wrapper_SOURCE) -lm -o $(BIN)/wrapper libwrapper.so: $(libwrapper_so_OBJECTS) - ${COMPILE} -lm -shared $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so + ${COMPILE} -shared $(libwrapper_so_OBJECTS) -lm -o $(LIB)/libwrapper.so %.o: %.c @echo '$(COMPILE) -c $<'; \ --- service-wrapper-java-3.5.3.orig/src/c/Makefile-linux-ia-64.make +++ service-wrapper-java-3.5.3/src/c/Makefile-linux-ia-64.make @@ -33,10 +33,10 @@ if test ! -d .deps; then mkdir .deps; fi wrapper: $(wrapper_SOURCE) - $(COMPILE) -lm -pthread $(wrapper_SOURCE) -o $(BIN)/wrapper + $(COMPILE) -pthread $(wrapper_SOURCE) -lm -o $(BIN)/wrapper libwrapper.so: $(libwrapper_so_OBJECTS) - ${COMPILE} -lm -shared $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so + ${COMPILE} -shared $(libwrapper_so_OBJECTS) -lm -o $(LIB)/libwrapper.so %.o: %.c @echo '$(COMPILE) -c $<'; \ --- service-wrapper-java-3.5.3.orig/src/c/Makefile-linux-ppc-32.make +++ service-wrapper-java-3.5.3/src/c/Makefile-linux-ppc-32.make @@ -33,7 +33,7 @@ if test ! -d .deps; then mkdir .deps; fi wrapper: $(wrapper_SOURCE) - $(COMPILE) -pthread -lm $(wrapper_SOURCE) -o $(BIN)/wrapper + $(COMPILE) -pthread $(wrapper_SOURCE) -lm -o $(BIN)/wrapper libwrapper.so: $(libwrapper_so_OBJECTS) ${COMPILE} -shared $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so