On Wed, Oct 05, 2011 at 09:15:39PM +0200, Jakub Wilk wrote:
> * Christian T. Steigies <c...@debian.org>, 2011-10-05, 20:24:
> >>>Tried to build your package and it fails to build with GNU
> >>>binutils-gold.
> >>The version in unstable builds fine against binutils-gold.
> >Sorry, I can not reproduce your finding on amd64.
> 
> Interesting. Indeed, it fails to build on amd64. However, before
> closing the bug I tried it on i386, where it builds successfully.
> The relevant line from i386 buid log[0] is:
> 
> g++ -Wl,-O1 -o ../../build/bin/qgle objects/about.o objects/amove.o 
> objects/arc.o objects/circle.o objects/colourbutton.o objects/colourpicker.o 
> objects/component.o objects/consolewindow.o objects/drawingobject.o 
> objects/ellipse.o objects/fileinfo.o objects/gledrawing.o objects/grid.o 
> objects/line.o objects/main.o objects/mainwindow.o objects/newfile.o 
> objects/polararray.o objects/propertyeditor.o objects/propertymodel.o 
> objects/qgle_statics.o objects/qgs.o objects/qgslibloader.o 
> objects/serverthread.o objects/settings.o objects/settings_dialogue.o 
> objects/snapline.o objects/text.o objects/variantdelegate.o 
> objects/objectblocks.o objects/dialogues.o objects/moc_about.o 
> objects/moc_amove.o objects/moc_arc.o objects/moc_circle.o 
> objects/moc_colourbutton.o objects/moc_colourpicker.o objects/moc_component.o 
> objects/moc_consolewindow.o objects/moc_drawingobject.o objects/moc_ellipse.o 
> objects/moc_gledrawing.o objects/moc_grid.o objects/moc_line.o 
> objects/moc_mainwindow.o objects/moc_newfile.o objects/moc_polararr
> ay.o objects/moc_propertyeditor.o objects/moc_propertymodel.o
> objects/moc_qgs.o objects/moc_serverthread.o objects/moc_settings.o
> objects/moc_settings_dialogue.o objects/moc_snapline.o
> objects/moc_text.o objects/moc_variantdelegate.o
> objects/moc_objectblocks.o objects/moc_dialogues.o
> objects/qrc_qgle.o    -L/usr/lib -ldl -lgle-graphics-4.2.2
> -L../../build/lib/ -lQtGui -lQtNetwork -lQtCore -lpthread
> 
> As you see, -ldl is there.

Yes, maybe that explains why I can not find the place where I need to add
-ldl to make it build on amd64.

> >Are you sure you have binutils-gold installed?
> 
> Yes. But anyway, sorry for the noise!
> 
> 
> [0] 
> https://buildd.debian.org/status/fetch.php?pkg=gle-graphics&arch=i386&ver=4.2.2-4%2Bb2&stamp=1316278910

On the amd64 buildd (without binutils-gold), it builds, without -ldl:
https://buildd.debian.org/status/fetch.php?pkg=gle-graphics&arch=amd64&ver=4.2.2-4%2Bb2&stamp=1316277792
 
With binutils-gold, there is no -ldl, and the build fails. I did not see any
significant difference between your i386 and and my amd64 buildlog, during
the build, the check for dlopen succeeds:

 checking for qmake-qt4... /usr/bin/qmake-qt4
 checking for library containing dlopen... -ldl


However, tt does build on amd64 with this patch:

-- gle-graphics-4.2.2.orig/src/gui/qgle.pro.in
+++ gle-graphics-4.2.2/src/gui/qgle.pro.in
@@ -163,7 +163,7 @@
 
 # link against the GLE library (unix -> Linux and Mac OS/X)
 unix {
-       LIBS += -lgle-graphics-@GLE_VERSION@ -L../../build/lib/
+       LIBS += -ldl -lgle-graphics-@GLE_VERSION@ -L../../build/lib/
 }
 win32 {
        LIBS += -lgle-graphics-@GLE_VERSION@ -L../../build/bin/


Or with this patch:

--- gle-graphics-4.2.2.orig/src/gui/qgle.pro.in
+++ gle-graphics-4.2.2/src/gui/qgle.pro.in
@@ -157,7 +157,7 @@
              images/reload.png \
              images/reload_red.png
 
-linux-g++ {
+linux-g++-64 {
        LIBS += -ldl
 }
 

I am not a qt expert, but I wonder why the rule needs to be called
linux-g++-64 even though the compiler is called as g++.  I assume the latter
patch works only for amd64 and will fail on all other arches, does it need
an arch specific extension for every other CPU?

So perhaps the first solution is better, is there a reason why -ldl is not
included in the unix rule?

Christian



--
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