Package: lordsawar Version: 0.2.0-1 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/70882027/buildlog_ubuntu-oneiric-i386.lordsawar_0.2.0-1_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/lordsawar/0.2.0-1ubuntu1 -- 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: Correct the order of linker parameters so that it doesn't fail with --as-needed option. Author: Ilya Barygin <[email protected]> Bug-Ubuntu: https://launchpad.net/bugs/770984 --- a/src/pbm/Makefile.am +++ b/src/pbm/Makefile.am @@ -23,8 +23,8 @@ lordsawar_pbm_SOURCES = pbm.cpp main.cpp pbm.h ${top_srcdir}/src/pbm-game-client.cpp ${top_srcdir}/src/pbm-game-client.h ${top_srcdir}/src/game-client-decoder.cpp ${top_srcdir}/src/game-client-decoder.h ${top_srcdir}/src/chat-client.cpp ${top_srcdir}/src/chat-client.h -lordsawar_pbm_LDADD = $(LIBSIGC_LIBS) $(GTKMM_LIBS) $(SDL_LIBS) -ltar -lz \ - $(top_builddir)/src/liblordsawar.la \ +lordsawar_pbm_LDADD = $(top_builddir)/src/liblordsawar.la \ + $(LIBSIGC_LIBS) $(GTKMM_LIBS) $(SDL_LIBS) -ltar -lz \ @LIBINTL@ \ -L$(top_builddir)/src ##endif --- a/src/pbm/Makefile.in +++ b/src/pbm/Makefile.in @@ -283,8 +283,8 @@ # 02110-1301, USA. MAINTAINERCLEANFILES = Makefile.in lordsawar_pbm_SOURCES = pbm.cpp main.cpp pbm.h ${top_srcdir}/src/pbm-game-client.cpp ${top_srcdir}/src/pbm-game-client.h ${top_srcdir}/src/game-client-decoder.cpp ${top_srcdir}/src/game-client-decoder.h ${top_srcdir}/src/chat-client.cpp ${top_srcdir}/src/chat-client.h -lordsawar_pbm_LDADD = $(LIBSIGC_LIBS) $(GTKMM_LIBS) $(SDL_LIBS) -ltar -lz \ - $(top_builddir)/src/liblordsawar.la \ +lordsawar_pbm_LDADD = $(top_builddir)/src/liblordsawar.la -lz \ + $(LIBSIGC_LIBS) $(GTKMM_LIBS) $(SDL_LIBS) -ltar \ @LIBINTL@ \ -L$(top_builddir)/src --- a/src/gls/Makefile.am +++ b/src/gls/Makefile.am @@ -22,20 +22,20 @@ lordsawar_game_list_client_SOURCES = gls-client-main.cpp \ gls-client-tool.cpp gls-client-tool.h -lordsawar_game_list_client_LDADD = $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ - $(top_builddir)/src/liblordsawar.la \ +lordsawar_game_list_client_LDADD = $(top_builddir)/src/liblordsawar.la \ $(top_builddir)/src/liblordsawargamelist.la \ $(top_builddir)/src/liblordsawarnet.la \ + $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ @LIBINTL@ \ -L$(top_builddir)/src lordsawar_game_list_server_SOURCES = main.cpp \ gamelist-server.cpp gamelist-server.h -lordsawar_game_list_server_LDADD = $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ - $(top_builddir)/src/liblordsawar.la \ +lordsawar_game_list_server_LDADD = $(top_builddir)/src/liblordsawar.la \ $(top_builddir)/src/liblordsawargamelist.la \ $(top_builddir)/src/liblordsawarnet.la \ + $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ @LIBINTL@ \ -L$(top_builddir)/src ##endif --- a/src/gls/Makefile.in +++ b/src/gls/Makefile.in @@ -296,20 +296,20 @@ lordsawar_game_list_client_SOURCES = gls-client-main.cpp \ gls-client-tool.cpp gls-client-tool.h -lordsawar_game_list_client_LDADD = $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ - $(top_builddir)/src/liblordsawar.la \ +lordsawar_game_list_client_LDADD = $(top_builddir)/src/liblordsawar.la \ $(top_builddir)/src/liblordsawargamelist.la \ $(top_builddir)/src/liblordsawarnet.la \ + $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ @LIBINTL@ \ -L$(top_builddir)/src lordsawar_game_list_server_SOURCES = main.cpp \ gamelist-server.cpp gamelist-server.h -lordsawar_game_list_server_LDADD = $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ - $(top_builddir)/src/liblordsawar.la \ +lordsawar_game_list_server_LDADD = $(top_builddir)/src/liblordsawar.la \ $(top_builddir)/src/liblordsawargamelist.la \ $(top_builddir)/src/liblordsawarnet.la \ + $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ @LIBINTL@ \ -L$(top_builddir)/src --- a/src/ghs/Makefile.am +++ b/src/ghs/Makefile.am @@ -22,22 +22,22 @@ lordsawar_game_host_client_SOURCES = ghs-client-main.cpp \ ghs-client-tool.cpp ghs-client-tool.h -lordsawar_game_host_client_LDADD = $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ - $(top_builddir)/src/liblordsawar.la \ +lordsawar_game_host_client_LDADD = $(top_builddir)/src/liblordsawar.la \ $(top_builddir)/src/liblordsawargamelist.la \ $(top_builddir)/src/liblordsawargamehost.la \ $(top_builddir)/src/liblordsawarnet.la \ + $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ @LIBINTL@ \ -L$(top_builddir)/src lordsawar_game_host_server_SOURCES = main.cpp \ gamehost-server.cpp gamehost-server.h -lordsawar_game_host_server_LDADD = $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ - $(top_builddir)/src/liblordsawar.la \ +lordsawar_game_host_server_LDADD = $(top_builddir)/src/liblordsawar.la \ $(top_builddir)/src/liblordsawargamelist.la \ $(top_builddir)/src/liblordsawargamehost.la \ $(top_builddir)/src/liblordsawarnet.la \ + $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ @LIBINTL@ \ -L$(top_builddir)/src ##endif --- a/src/ghs/Makefile.in +++ b/src/ghs/Makefile.in @@ -298,22 +298,22 @@ lordsawar_game_host_client_SOURCES = ghs-client-main.cpp \ ghs-client-tool.cpp ghs-client-tool.h -lordsawar_game_host_client_LDADD = $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ - $(top_builddir)/src/liblordsawar.la \ +lordsawar_game_host_client_LDADD = $(top_builddir)/src/liblordsawar.la \ $(top_builddir)/src/liblordsawargamelist.la \ $(top_builddir)/src/liblordsawargamehost.la \ $(top_builddir)/src/liblordsawarnet.la \ + $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ @LIBINTL@ \ -L$(top_builddir)/src lordsawar_game_host_server_SOURCES = main.cpp \ gamehost-server.cpp gamehost-server.h -lordsawar_game_host_server_LDADD = $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ - $(top_builddir)/src/liblordsawar.la \ +lordsawar_game_host_server_LDADD = $(top_builddir)/src/liblordsawar.la \ $(top_builddir)/src/liblordsawargamelist.la \ $(top_builddir)/src/liblordsawargamehost.la \ $(top_builddir)/src/liblordsawarnet.la \ + $(LIBSIGC_LIBS) $(GTKMM_LIBS) -ltar -lz \ @LIBINTL@ \ -L$(top_builddir)/src

