Package: quickplot Version: 0.8.15-3 Severity: normal Tags: patch User: debian-...@lists.debian.org Usertags: ld-as-needed
quickplot fails to build when ld defaults to --as-needed because it puts libraries before the objects that use them. See http://wiki.debian.org/ToolChain/DSOLinking#Only_link_with_needed_libraries Build log: g++ -Wall -pthread -I/usr/include/gtk-2.0 -I/usr/include/gtk-unix-print-2.0 -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/gtkmm-2.4 -I/usr/lib/gtkmm-2.4/include -I/usr/include/atkmm-1.6 -I/usr/include/giomm-2.4 -I/usr/lib/giomm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/lib/pangomm-1.4/include -I/usr/include/gdkmm-2.4 -I/usr/lib/gdkmm-2.4/include -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/cairomm-1.0 -I/usr/lib/cairomm-1.0/include -DHTMLDIR=\"/usr/share/doc/quickplot/html\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Wall -pthread -lgtkmm-2.4 -latkmm-1.6 -lgdkmm-2.4 -lgiomm-2 .4 -lpangomm-1.4 -lgtk-x11-2.0 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lsndfile -Wl,-Bsymbolic-functions -Wl,-z,relro -o quickplot q-App.o q-App_parseArgs.o q-ButtonBar.o q-ColorGen.o q-Field.o q-FieldReader.o q-File.o q-FileList.o q-FileReader.o q-File_readASCIIFile.o q-File_readSndDouble.o q-File_readSndFile.o q-File_readSndFloat.o q-File_readSndInt.o q-File_readSndShort.o q-Globel.o q-Graph.o q-GraphConfig.o q-Graph_drawAutoGrid.o q-LinearField.o q-MainMenuBar.o q-MainWindow.o q-Plot.o q-PlotConfig.o q-PlotList.o q-PlotLister.o q-PlotSelector.o q-Plot_cullDrawLine.o q-Source.o q-StatusBar.o q-ValueSlider.o q-about_html.o q-errorStr.o q-getOpt.o q-help_html.o q-launchBrowser.o q-main.o q-parseGeometry.o q-usage.o q-App.o: In function `quitLater': /tmp/buildd/quickplot-0.8.15/App.cpp:186: undefined reference to `gtk_idle_remove_by_data' /tmp/buildd/quickplot-0.8.15/App.cpp:187: undefined reference to `Gtk::Main::quit()' q-App.o: In function `~App': /tmp/buildd/quickplot-0.8.15/App.cpp:198: undefined reference to `Gtk::Main::~Main()' q-App.o: In function `App::_createMainWindow(bool)': /tmp/buildd/quickplot-0.8.15/App.cpp:84: undefined reference to `Gtk::Widget::set_sensitive(bool)' [...]
diff -Nru quickplot-0.8.15/debian/control quickplot-0.8.15/debian/control --- quickplot-0.8.15/debian/control 2011-08-24 14:47:35.000000000 +0200 +++ quickplot-0.8.15/debian/control 2011-11-02 20:04:05.000000000 +0100 @@ -2,7 +2,7 @@ Section: math Priority: optional Maintainer: Muammar El Khatib <muam...@debian.org> -Build-Depends: debhelper (>> 5), libgtkmm-2.4-dev, libsndfile1-dev, docbook-to-man +Build-Depends: debhelper (>> 5), libgtkmm-2.4-dev, libsndfile1-dev, docbook-to-man, dh-autoreconf Standards-Version: 3.9.2 Homepage: http://quickplot.sourceforge.net/ diff -Nru quickplot-0.8.15/debian/patches/move_libs_to_ldadd.diff quickplot-0.8.15/debian/patches/move_libs_to_ldadd.diff --- quickplot-0.8.15/debian/patches/move_libs_to_ldadd.diff 1970-01-01 01:00:00.000000000 +0100 +++ quickplot-0.8.15/debian/patches/move_libs_to_ldadd.diff 2011-11-02 20:06:58.000000000 +0100 @@ -0,0 +1,15 @@ +Description: Move libs to LDADD to fix FTBFS with ld --as-needed. +Author: Felix Geyer <debfx-...@fobos.de> + +--- quickplot-0.8.15.orig/Makefile.am ++++ quickplot-0.8.15/Makefile.am +@@ -53,7 +53,8 @@ BUILT_SOURCES =\ + quickplot_CXXFLAGS = -Wall $(GTKMM_CXXFLAGS) $(SNDFILE_CFLAGS) -DHTMLDIR=\"$(htmldir)\" + + +-quickplot_LDFLAGS = -Wall $(GTKMM_LIBS) $(SNDFILE_LIBS) ++quickplot_LDFLAGS = -Wall ++quickplot_LDADD = $(GTKMM_LIBS) $(SNDFILE_LIBS) + # -lefence + + # require automake 1.7 diff -Nru quickplot-0.8.15/debian/patches/series quickplot-0.8.15/debian/patches/series --- quickplot-0.8.15/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ quickplot-0.8.15/debian/patches/series 2011-11-02 20:05:12.000000000 +0100 @@ -0,0 +1 @@ +move_libs_to_ldadd.diff diff -Nru quickplot-0.8.15/debian/rules quickplot-0.8.15/debian/rules --- quickplot-0.8.15/debian/rules 2011-08-24 14:47:20.000000000 +0200 +++ quickplot-0.8.15/debian/rules 2011-11-02 20:03:50.000000000 +0100 @@ -9,6 +9,7 @@ configure: configure-stamp configure-stamp: dh_testdir + dh_autoreconf ./configure --prefix=/usr touch configure-stamp @@ -31,6 +32,8 @@ # Add here commands to clean up after the build process. [ ! -f Makefile ] || $(MAKE) distclean + dh_autoreconf_clean + dh_clean install: install-stamp