Le Tue, 10 May 2011 12:01:17 -0500,
"David C. Rankin" <drankinatty(a)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.