Package: gtklp Version: 1.2.7-2.3 Severity: normal Tags: patch User: debian-...@lists.debian.org Usertags: ld-as-needed
Hello, trying to build gtklp in Ubuntu (which uses ld --as-needed by default) resulted in the following linking error: ,----[ https://launchpadlibrarian.net/103699915/buildlog_ubuntu-quantal-i386.gtklp_1.2.7-2.3_FAILEDTOBUILD.txt.gz ]- | libtool: link: gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -Wall -o gtklp file.o general.o gtklp.o gtklp_functions.o gtklptab.o hpgl2.o image.o output.o ppd.o special.o text.o -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -L/usr/lib/i386-linux-gnu -lX11 ../libgtklp/libgtklp.a -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 /usr/lib/i386-linux-gnu/libcairo.so -lpango-1.0 /usr/lib/i386-linux-gnu/libfreetype.so -lfontconfig -lgobject-2.0 -lglib-2.0 -lcups -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lgnutls -L/lib/i386-linux-gnu -lgcrypt -lz -lpthread -lcrypt -lm | /usr/bin/ld: ../libgtklp/libgtklp.a(libgtklp.o): undefined reference to symbol 'XOpenDisplay' | /usr/bin/ld: note: 'XOpenDisplay' is defined in DSO /usr/lib/i386-linux-gnu/libX11.so so try adding it to the linker command line `---- Although -lX11 is in the linker call the problem is in the argument order (it's listed before libgtklp.a). The patch from bug #554752 fixed only linking with --no-add-needed but not with --as-needed. Attached is a fixed patch which adds -lX11 to gtklp_LDADD (in gtklp/Makefile.am) instead of LDFLAGS, fixing linking both with --no-add-needed and --as-needed. Regards, Michael
Index: gtklp-1.2.7/gtklp/Makefile.am =================================================================== --- gtklp-1.2.7.orig/gtklp/Makefile.am 2009-06-21 14:25:37.000000000 +0200 +++ gtklp-1.2.7/gtklp/Makefile.am 2012-05-01 16:04:00.000000000 +0200 @@ -9,5 +9,5 @@ duplex_short.xpm logo.xpm logo2.xpm logo2_k.xpm logo_k.xpm rarrow.xpm \ white.xpm -gtklp_LDADD = $(top_builddir)/libgtklp/libgtklp.a $(GTK2_LIBS) $(GTK_LIBS) $(CUPS_LIBS) $(FORTE_LDFLAGS) +gtklp_LDADD = $(top_builddir)/libgtklp/libgtklp.a -lX11 $(GTK2_LIBS) $(GTK_LIBS) $(CUPS_LIBS) $(FORTE_LDFLAGS) gtklp_LDFLAGS = $(CUPS_LDFLAGS)