Package: passepartout
Version: 0.7.1-1
Severity: important
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu ubuntu-patch oneiric

passepartout fails to build with a linker that defaults to --as-needed,
as shown in this Ubuntu bug report:

  https://bugs.launchpad.net/ubuntu/+source/passepartout/+bug/770825

This is because of incorrect link ordering: it puts libraries before
other libraries that use them rather than after.  See:

  http://wiki.debian.org/ToolChain/DSOLinking#Only_link_with_needed_libraries

The following patch fixes this.

  * Fix link order to list libraries after other libraries that require them
    (LP: #770825).

diff -Nru passepartout-0.7.1/debian/patches/0002-link-order.patch 
passepartout-0.7.1/debian/patches/0002-link-order.patch
--- passepartout-0.7.1/debian/patches/0002-link-order.patch     1970-01-01 
01:00:00.000000000 +0100
+++ passepartout-0.7.1/debian/patches/0002-link-order.patch     2011-09-13 
11:12:38.000000000 +0100
@@ -0,0 +1,100 @@
+Index: b/src/pptout/Makefile.am
+===================================================================
+--- a/src/pptout/Makefile.am
++++ b/src/pptout/Makefile.am
+@@ -37,14 +37,14 @@
+ 
+ passepartout_CXXFLAGS += -I$(top_srcdir)/src -D'XMLPATH=$(xmldir)'
+ 
+-passepartout_LDADD = $(XMLPP_LIBS) $(GTKMM_LIBS) $(GNOMECANVAS_LIBS) \
+-              $(GTHREAD_LIBS) $(GNOME_LIBS) $(GNOMEVFS_LIBS)
+-
+ pptpartlibs= document/libdocument.a ../xml2ps/libxml2ps.a     \
+       ../fonts/libfonts.a ../ps/libps.a                       \
+       ../util/libpptutil.a widget/libwidget.a
+ 
+-passepartout_LDADD += $(pptpartlibs)
++passepartout_LDADD = $(pptpartlibs)
++
++passepartout_LDADD += $(XMLPP_LIBS) $(GTKMM_LIBS) $(GNOMECANVAS_LIBS) \
++              $(GTHREAD_LIBS) $(GNOME_LIBS) $(GNOMEVFS_LIBS)
+ 
+ # Extra dependencies for builddate, so it is rebuilt every time anything else
+ # is rebuilt
+Index: b/src/pptout/Makefile.in
+===================================================================
+--- a/src/pptout/Makefile.in
++++ b/src/pptout/Makefile.in
+@@ -246,8 +246,8 @@
+ passepartout_CXXFLAGS = $(XMLPP_CFLAGS) $(GTKMM_CFLAGS) \
+       $(GNOMECANVAS_CFLAGS) $(GNOME_CFLAGS) $(GNOMEVFS_CFLAGS) \
+       -I$(top_srcdir)/src -D'XMLPATH=$(xmldir)'
+-passepartout_LDADD = $(XMLPP_LIBS) $(GTKMM_LIBS) $(GNOMECANVAS_LIBS) \
+-      $(GTHREAD_LIBS) $(GNOME_LIBS) $(GNOMEVFS_LIBS) $(pptpartlibs)
++passepartout_LDADD = $(pptpartlibs) $(XMLPP_LIBS) $(GTKMM_LIBS) 
$(GNOMECANVAS_LIBS) \
++      $(GTHREAD_LIBS) $(GNOME_LIBS) $(GNOMEVFS_LIBS)
+ pptpartlibs = document/libdocument.a ../xml2ps/libxml2ps.a    \
+       ../fonts/libfonts.a ../ps/libps.a                       \
+       ../util/libpptutil.a widget/libwidget.a
+Index: b/src/ps/Makefile.am
+===================================================================
+--- a/src/ps/Makefile.am
++++ b/src/ps/Makefile.am
+@@ -15,8 +15,8 @@
+ libps_a_CXXFLAGS += -I$(top_srcdir)/src
+ 
+ examinepdf_CXXFLAGS = $(libps_a_CXXFLAGS)
+-examinepdf_LDADD = $(GTKMM_LIBS) \
+-      -L. -lps -L../fonts -lfonts -lps -L../util -lpptutil
++examinepdf_LDADD = -L. -lps -L../fonts -lfonts -lps -L../util -lpptutil \
++              $(GTKMM_LIBS)
+ examinepdf_DEPENDENCIES = libps.a
+ 
+ #libps_a_LIBADD = $(GTKMM_LIBS)
+Index: b/src/ps/Makefile.in
+===================================================================
+--- a/src/ps/Makefile.in
++++ b/src/ps/Makefile.in
+@@ -202,8 +202,8 @@
+ libps_a_CXXFLAGS = $(GTKMM_CFLAGS) $(FREETYPE_CFLAGS) \
+       -I$(top_srcdir)/src
+ examinepdf_CXXFLAGS = $(libps_a_CXXFLAGS)
+-examinepdf_LDADD = $(GTKMM_LIBS) \
+-      -L. -lps -L../fonts -lfonts -lps -L../util -lpptutil
++examinepdf_LDADD = -L. -lps -L../fonts -lfonts -lps -L../util -lpptutil \
++              $(GTKMM_LIBS)
+ 
+ examinepdf_DEPENDENCIES = libps.a
+ runtest_SOURCES = test_glyphlist.cc
+Index: b/src/xml2ps/Makefile.am
+===================================================================
+--- a/src/xml2ps/Makefile.am
++++ b/src/xml2ps/Makefile.am
+@@ -20,8 +20,9 @@
+ 
+ xml2ps_CXXFLAGS = $(libxml2ps_a_CXXFLAGS)
+ 
+-xml2ps_LDADD = $(XMLPP_LIBS) $(GTKMM_LIBS) $(GNOMECANVAS_LIBS)\
+-      libxml2ps.a ../fonts/libfonts.a ../ps/libps.a ../util/libpptutil.a 
++xml2ps_LDADD = libxml2ps.a ../fonts/libfonts.a ../ps/libps.a \
++      ../util/libpptutil.a \
++      $(XMLPP_LIBS) $(GTKMM_LIBS) $(GNOMECANVAS_LIBS)
+ 
+ #install DTDs and XSLTs in $(datadir)/xml/passepartout/ (xmldir is defined in 
configure.ac)
+ dist_xml_DATA = xml2ps.dtd xhtml.xslt docbook.xslt
+Index: b/src/xml2ps/Makefile.in
+===================================================================
+--- a/src/xml2ps/Makefile.in
++++ b/src/xml2ps/Makefile.in
+@@ -211,8 +211,9 @@
+ libxml2ps_a_CXXFLAGS = $(XMLPP_CFLAGS) $(GTKMM_CFLAGS) \
+       $(GNOMECANVAS_CFLAGS) -I$(top_srcdir)/src
+ xml2ps_CXXFLAGS = $(libxml2ps_a_CXXFLAGS)
+-xml2ps_LDADD = $(XMLPP_LIBS) $(GTKMM_LIBS) $(GNOMECANVAS_LIBS)\
+-      libxml2ps.a ../fonts/libfonts.a ../ps/libps.a ../util/libpptutil.a 
++xml2ps_LDADD = libxml2ps.a ../fonts/libfonts.a ../ps/libps.a \
++      ../util/libpptutil.a \
++      $(XMLPP_LIBS) $(GTKMM_LIBS) $(GNOMECANVAS_LIBS)
+ 
+ 
+ #install DTDs and XSLTs in $(datadir)/xml/passepartout/ (xmldir is defined in 
configure.ac)
diff -Nru passepartout-0.7.1/debian/patches/series 
passepartout-0.7.1/debian/patches/series
--- passepartout-0.7.1/debian/patches/series    2010-06-03 17:23:32.000000000 
+0100
+++ passepartout-0.7.1/debian/patches/series    2011-09-13 11:11:30.000000000 
+0100
@@ -1 +1,2 @@
 0001-Safe-handling-of-gs-calls-with-external-eps-files.patch
+0002-link-order.patch

-- 
Colin Watson                                       [cjwat...@ubuntu.com]



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to