Le Tue, 10 May 2011 12:01:17 -0500, "David C. Rankin" drankinatty@suddenlinkmail.com a écrit :
Guys,
This is bizarre. I went to build Qt3 this morning, applied a new patch, and Qt3 wouldn't compile. So I removed the patch just to make sure nothing on the system had changed to prevent building and -- I STILL GET THE ERROR??
So I went to a box where Qt3 built a day or so ago which still had the Qt3 build directory in place from the last time it built and went to build it again
I get the same symbol lookup error.
The only thing that changes was qt 4.7.3-1 was pulled in as a
dependency of poppler-qt when I attempted to build kdegraphics with -DWITH_PDF=ON. I thought Qt3 would build fine with Qt4 installed? Is this something new with the new version?
The symbol error has me scratching my head. I can't for the life of me figure out what this error is telling me:
g++ -c -pipe -fPIC -Wall -W -march=i686 -mtune=generic -O2 -pipe -D_REENTRANT -DDESIGNER -DQT_INTERNAL_XML -DQT_INTERNAL_WORKSPACE -DQT_INTERNAL_ICONVIEW -DQT_INTERNAL_TABLE -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -I/home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/mkspecs/linux-g++ -I. -I/usr/include/freetype2 -I../shared -I../uilib -I../../../include -I/usr/X11R6/include -I.moc/release-shared-mt/ -o ./editfunctions.o editfunctions.cpp /home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/bin/uic -L /home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/plugins newform.ui -i newform.h -o newform.cpp g++ -c -pipe -fPIC -Wall -W -march=i686 -mtune=generic -O2 -pipe -D_REENTRANT -DDESIGNER -DQT_INTERNAL_XML -DQT_INTERNAL_WORKSPACE -DQT_INTERNAL_ICONVIEW -DQT_INTERNAL_TABLE -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -I/home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/mkspecs/linux-g++ -I. -I/usr/include/freetype2 -I../shared -I../uilib -I../../../include -I/usr/X11R6/include -I.moc/release-shared-mt/ -o ./newform.o newform.cpp In file included from ../../../include/qdragobject.h:50:0, from ../../../include/qiconview.h:51, from newform.cpp:13: ../../../include/qimage.h: In member function ‘bool QImageTextKeyLang::operator<(const QImageTextKeyLang&) const’: ../../../include/qimage.h:61:61: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] /home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/bin/uic -L /home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/plugins listvieweditor.ui -i listvieweditor.h -o listvieweditor.cpp /home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/bin/uic: symbol lookup error: /opt/trinity/lib/libkdecore.so.4: undefined symbol: _ZN7KGlobal20deleteStaticDeletersEv make[4]: *** [listvieweditor.cpp] Error 127 make[4]: Leaving directory `/home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/tools/designer/designer' make[3]: *** [sub-designer] Error 2 make[3]: Leaving directory `/home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/tools/designer' make[2]: *** [sub-designer] Error 2 make[2]: Leaving directory `/home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/tools' make[1]: *** [sub-tools] Error 2 make[1]: Leaving directory `/home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b' make: *** [init] Error 2 ==> ERROR: A failure occurred in build(). Aborting...
I get that it is a uic symbol lookup error:
/home/david/tblds/trinity-qt3/src/qt-x11-free-3.3.8b/bin/uic: symbol lookup error: /opt/trinity/lib/libkdecore.so.4: undefined symbol: _ZN7KGlobal20deleteStaticDeletersEv
How does one fix a symbol lookup error like this?
Also why does the Qt3 build even look to /opt/trinity/lib/libkdecore.so.4? How can I prevent this from happening? This built fine before the Qt4 package installed. Short of removing Qt4, what is the best way to try and fix this?
It works for me™. I am using a slightly modified version of the Slackware-originated SlackBuild that can be found at ftp://ftp.gwdg.de/pub/linux/slackware/unsupported/kde-3.5.10-for-slack13.0/source/qt3/ This is a unusual SlackBuild, because it builds qt3 in /opt/kde3 (Patrick Volderking says in the scripts that building it in /tmp frequently led to wrong packages). Also, I posted my own version recently on the list, it is essentially the same with additional patches. I am building Trinity under Slackware 13.37 with full KDE4 alongside (KDE4 is my main desktop now, no kidding), and: -dependencies such as qt3, qca and poppler-qt3 compile with the unsupported scripts from the Slackware mirrors, with /opt/kde3 prefix -arts, dbus-tqt, dbus-1-tqt, tqtinterface compile without errors, with /opt/kde3 prefix -kdebase and kdelibs also compile without errors, still in /opt/kde3, but when I launch any KDE3 program, it doesn't manage to load any library in /opt/kde3/lib/kde3. However, when I built qt3, Trinity was not installed, but only KDE4. I will put the build scripts and the patches online when I have more time (==soon), right now I have my exams. The patches basically fix kconfig_compiler detection (with the SVN version it uses the KDE4 one) and enforce the use of dbus-tqt.pc for the build of kdebase.
The build script is here:
http://svn.trinitydesktop.org/svn/trinity-packaging/arch/master/trinity-qt3/...
The Qt3 package built fine when I uploaded it a day ago:
http://svn.trinitydesktop.org/svn/trinity-packaging/arch/master/src/trinity-...
Any help appreciated :)