Hello, When compiling the examples in the Qt examples dir (opengl gears example) and bumped into some errors. Firstly, I get the following linking errors: gear.o(.gnu.linkonce.d._ZTV10GearWidget+0xc): undefined reference to `QGLWidget::className() const' gear.o(.gnu.linkonce.d._ZTV10GearWidget+0x10): undefined reference to `QGLWidget::qt_cast(char const*)' gear.o(.gnu.linkonce.d._ZTV10GearWidget+0x14): undefined reference to `QGLWidget::qt_invoke(int, QUObject*)' Now, when I replace the -lqt in the Makefile by -lqt-mt, they link just fine. Is this a bug in the Makefile's from Trolltech, or some weird behaviour in SuSE's qt libs? These are the (unsupported?) qt3-3.3.0-47 libs from supplementary/KDE/update_for_9.0. Ok, replacing the qt with qt-mt works fine, but then the output is scrambled (take a look at http://www.suse-irc.org/temp/snapshot1.png). This did not occur with the regular qt libs SuSE 9.0 provides, but then I cannot run KDE 3.2 :) Thanks in advance, -- tinus.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Monday 23 February 2004 07:05 am, Martijn Houtman wrote:
Hello,
When compiling the examples in the Qt examples dir (opengl gears example) and bumped into some errors. Firstly, I get the following linking errors:
gear.o(.gnu.linkonce.d._ZTV10GearWidget+0xc): undefined reference to `QGLWidget::className() const' gear.o(.gnu.linkonce.d._ZTV10GearWidget+0x10): undefined reference to `QGLWidget::qt_cast(char const*)' gear.o(.gnu.linkonce.d._ZTV10GearWidget+0x14): undefined reference to `QGLWidget::qt_invoke(int, QUObject*)'
Now, when I replace the -lqt in the Makefile by -lqt-mt, they link just fine. Is this a bug in the Makefile's from Trolltech, or some weird behaviour in SuSE's qt libs? These are the (unsupported?) qt3-3.3.0-47 libs from supplementary/KDE/update_for_9.0.
Ok, replacing the qt with qt-mt works fine, but then the output is scrambled (take a look at http://www.suse-irc.org/temp/snapshot1.png). This did not occur with the regular qt libs SuSE 9.0 provides, but then I cannot run KDE 3.2 :)
Thanks in advance, -- tinus.
Quite strange. I was unable to make gear at all until I added -lGL to the LIBS = $(SUBLIBS) -L/usr/lib/ -L$(QTDIR)/lib/ -L/usr/X11R6/lib/ -lqt-mt - -lGL -lXext -lX11 -lm in Makefile. After that it compiled and ran perfectly. I copied the example form $QTDIR/doc/examples/opengl/gear/, deleted the gear and gear.o, Ran qmake - -project, qmake, hacked the Makefile as above, and ran make successfully. qmake -version Qmake version: 1.07a (Qt 3.3.0) Qmake is free software from Trolltech AS. STH -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFAOiSnH2SF0i7rrGwRAu3iAKCZp2mkx5wkMlVSO7dckRtvzzWV3gCgoyp5 aqkPaqygGbQ1KmieVW65sDk= =IKRe -----END PGP SIGNATURE-----
On Monday 23 February 2004 17:04, Steven T. Hatton wrote:
On Monday 23 February 2004 07:05 am, Martijn Houtman wrote: *snip* Quite strange. I was unable to make gear at all until I added -lGL to the
LIBS = $(SUBLIBS) -L/usr/lib/ -L$(QTDIR)/lib/ -L/usr/X11R6/lib/ -lqt-mt -lGL -lXext -lX11 -lm in Makefile. After that it compiled and ran perfectly. I copied the example form $QTDIR/doc/examples/opengl/gear/, deleted the gear and gear.o, Ran qmake -project, qmake, hacked the Makefile as above, and ran make successfully.
Exactly what version of qt rpm did you use? Or if you compiled it yourself, what flags did you pass configure? The rpm also comes with precompiled binaries, which work just fine. So I copied the binary 'box' to 'box.old' and recompiled the new box with the -lqt-mt and -lGL. Now take a look at these ldd outputs: tinus:/usr/lib/qt3/doc/examples/opengl/box # ldd box.old libqt-mt.so.3 => /usr/lib/qt3/lib/libqt-mt.so.3 (0x4002f000) libpng.so.3 => /usr/lib/libpng.so.3 (0x40774000) libz.so.1 => /lib/libz.so.1 (0x407a2000) libGLU.so.1 => /usr/lib/libGLU.so.1 (0x407b1000) libGL.so.1 => /usr/lib/tls/libGL.so.1 (0x4082f000) libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x4089a000) libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x408b0000) libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x408b8000) libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x408c0000) libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0x408c4000) libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x408ce000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x408e0000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x40936000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4095e000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4096c000) libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40a68000) libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40a72000) libdl.so.2 => /lib/libdl.so.2 (0x40a89000) libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40a8c000) libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40add000) libm.so.6 => /lib/i686/libm.so.6 (0x40b9d000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40bc0000) libc.so.6 => /lib/i686/libc.so.6 (0x40bc9000) libGLcore.so.1 => /usr/lib/tls/libGLcore.so.1 (0x40cfc000) libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x411dc000) libexpat.so.0 => /usr/lib/libexpat.so.0 (0x41230000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) tinus:/usr/lib/qt3/doc/examples/opengl/box # ldd box libqt-mt.so.3 => /usr/lib/qt3/lib/libqt-mt.so.3 (0x4002f000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40774000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40782000) libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x4087e000) libm.so.6 => /lib/i686/libm.so.6 (0x4093f000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40962000) libc.so.6 => /lib/i686/libc.so.6 (0x4096a000) libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40a9d000) libpng.so.3 => /usr/lib/libpng.so.3 (0x40aee000) libz.so.1 => /lib/libz.so.1 (0x40b1c000) libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x40b2c000) libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x40b34000) libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x40b3c000) libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0x40b40000) libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x40b49000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40b5b000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x40bb2000) libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40bda000) libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40be3000) libdl.so.2 => /lib/libdl.so.2 (0x40bfa000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) libexpat.so.0 => /usr/lib/libexpat.so.0 (0x40bfd000) So it appears that my newly brewed 'box binary does NOT get linked against libgl. Strange. Could you give me your ldd output of your fresh baked binary? Thanks in advance, -- tinus.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 To others on the list: Sorry about the lack of snippage in this message, but I wanted to make comparison easy. On Monday 23 February 2004 11:56 am, Martijn Houtman wrote:
On Monday 23 February 2004 17:04, Steven T. Hatton wrote:
On Monday 23 February 2004 07:05 am, Martijn Houtman wrote:
*snip*
Quite strange. I was unable to make gear at all until I added -lGL to the
LIBS = $(SUBLIBS) -L/usr/lib/ -L$(QTDIR)/lib/ -L/usr/X11R6/lib/ -lqt-mt -lGL -lXext -lX11 -lm in Makefile. After that it compiled and ran perfectly. I copied the example form $QTDIR/doc/examples/opengl/gear/, deleted the gear and gear.o, Ran qmake -project, qmake, hacked the Makefile as above, and ran make successfully.
Exactly what version of qt rpm did you use? Or if you compiled it yourself, what flags did you pass configure?
I cooked up another box and it works for me. First question. Do you have a $QTDIR set in your environment? I set my own variables in ~/.bashrc. Also check your LD_LIBRARY_PATH. It should have :/usr/lib/qt3/lib: in it You may already know these things, but there's no point in neglecting to mention them. Mon Feb 23 12:21:09:> rpm -qa | grep ^qt qt3-non-mt-3.3.0-49 qt3-devel-tools-3.3.0-46 qt3-unixODBC-3.3.0-46 qt3-examples-3.3.0-46 qt3-3.3.0-47 qt3-mysql-3.3.0-46 qt3-man-3.3.0-46 qt3-devel-3.3.0-47 qt3-static-3.3.0-47 qt3-postgresql-3.3.0-46 qt3-devel-doc-3.3.0-47 qt3-extensions-3.3.0-46
The rpm also comes with precompiled binaries, which work just fine. So I copied the binary 'box' to 'box.old' and recompiled the new box with the -lqt-mt and -lGL. Now take a look at these ldd outputs:
tinus:/usr/lib/qt3/doc/examples/opengl/box # ldd box.old libqt-mt.so.3 => /usr/lib/qt3/lib/libqt-mt.so.3 (0x4002f000) libpng.so.3 => /usr/lib/libpng.so.3 (0x40774000) libz.so.1 => /lib/libz.so.1 (0x407a2000) libGLU.so.1 => /usr/lib/libGLU.so.1 (0x407b1000) libGL.so.1 => /usr/lib/tls/libGL.so.1 (0x4082f000) libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x4089a000) libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x408b0000) libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x408b8000) libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x408c0000) libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0x408c4000) libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x408ce000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x408e0000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x40936000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4095e000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4096c000) libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40a68000) libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40a72000) libdl.so.2 => /lib/libdl.so.2 (0x40a89000) libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40a8c000) libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40add000) libm.so.6 => /lib/i686/libm.so.6 (0x40b9d000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40bc0000) libc.so.6 => /lib/i686/libc.so.6 (0x40bc9000) libGLcore.so.1 => /usr/lib/tls/libGLcore.so.1 (0x40cfc000) libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x411dc000) libexpat.so.0 => /usr/lib/libexpat.so.0 (0x41230000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
The one they built for me: Mon Feb 23 12:27:25:> ldd box libqt-mt.so.3 => /usr/lib/qt3/lib/libqt-mt.so.3 (0x40017000) libpng.so.3 => /usr/lib/libpng.so.3 (0x4077e000) libz.so.1 => /lib/libz.so.1 (0x407ac000) libGLU.so.1 => /usr/lib/libGLU.so.1 (0x407bb000) libGL.so.1 => /usr/lib/libGL.so.1 (0x40838000) libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x408ae000) libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x408c5000) libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x408cd000) libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x408d5000) libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0x408d9000) libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x408e2000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x408f4000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x4094b000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40973000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40981000) libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40a7d000) libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40a86000) libdl.so.2 => /lib/libdl.so.2 (0x40a9d000) libpthread.so.0 => /lib/libpthread.so.0 (0x40aa1000) libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40af4000) libm.so.6 => /lib/libm.so.6 (0x40bb4000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40bd7000) libc.so.6 => /lib/libc.so.6 (0x40bdf000) libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40d15000) libexpat.so.0 => /usr/lib/libexpat.so.0 (0x40d6a000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
tinus:/usr/lib/qt3/doc/examples/opengl/box # ldd box libqt-mt.so.3 => /usr/lib/qt3/lib/libqt-mt.so.3 (0x4002f000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40774000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40782000) libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x4087e000) libm.so.6 => /lib/i686/libm.so.6 (0x4093f000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40962000) libc.so.6 => /lib/i686/libc.so.6 (0x4096a000) libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40a9d000) libpng.so.3 => /usr/lib/libpng.so.3 (0x40aee000) libz.so.1 => /lib/libz.so.1 (0x40b1c000) libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x40b2c000) libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x40b34000) libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x40b3c000) libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0x40b40000) libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x40b49000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40b5b000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x40bb2000) libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40bda000) libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40be3000) libdl.so.2 => /lib/libdl.so.2 (0x40bfa000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) libexpat.so.0 => /usr/lib/libexpat.so.0 (0x40bfd000) My fresh baked box: Mon Feb 23 12:32:18:> ldd box libqt-mt.so.3 => /usr/lib/qt3/lib/libqt-mt.so.3 (0x40017000) libGL.so.1 => /usr/lib/libGL.so.1 (0x4077e000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x407f4000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40802000) libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x408fe000) libm.so.6 => /lib/libm.so.6 (0x409be000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x409e2000) libc.so.6 => /lib/libc.so.6 (0x409ea000) libpng.so.3 => /usr/lib/libpng.so.3 (0x40b20000) libz.so.1 => /lib/libz.so.1 (0x40b4e000) libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x40b5d000) libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x40b65000) libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x40b6e000) libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0x40b72000) libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x40b7b000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40b8d000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x40be3000) libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40c0b000) libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40c15000) libdl.so.2 => /lib/libdl.so.2 (0x40c2c000) libpthread.so.0 => /lib/libpthread.so.0 (0x40c2f000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) libexpat.so.0 => /usr/lib/libexpat.so.0 (0x40c82000) hattons@ljosalfr:~/code/qt-examples/opengl/box/
But now I seem to have a minor problem. I believe this message tells me my 3D hardware is being ignored: Xlib: extension "XFree86-DRI" missing on display ":0.0".
So it appears that my newly brewed 'box binary does NOT get linked against libgl. Strange. Could you give me your ldd output of your fresh baked binary?
Thanks in advance, -- tinus.
STH -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFAOjqQH2SF0i7rrGwRApPmAJ9cqJhuHkPvmKQCl9UZsWGmbNqkTACdHrPX 7yE1o0filtNc26sKQlT5/vo= =VnXP -----END PGP SIGNATURE-----
participants (2)
-
Martijn Houtman
-
Steven T. Hatton