Compiling third party KDE packages
Hello!
I'm (co-)maintaining a Debian i386 testing installation. We've most
recently upgraded the box at last Sunday (no changes to today), and
replaced the KDE2 packages with kde3 packages from
deb http://download.kde.org/stable/3.1.3/Debian stable main
Now, I was trying to compile a package named knetload (2.00beta2)
from sources.
I called configure this way:
sh configure --with-qt-includes=/usr/include/qt3 \
--with-qt-libraries=/usr/lib
There's this error message:
checking for Qt... configure: error: Qt (>= Qt 3.1 (20021021)) (library
qt-mt) not found. Please check your installation!
For more details about this problem, look at the end of config.log.
Make sure that you have compiled Qt with thread support!
The relevant excerpt from config.log is:
configure:21031: checking for Qt
configure: 21098: /usr/include/qt3/qstyle.h
taking that
configure:21208: rm -rf SunWS_cache; g++ -o conftest -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -I/usr/include/qt3 -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -L/usr/lib -L/usr/X11R6/lib conftest.cc -lqt-mt -lpng -lz -lm -ljpeg -ldl -lXext -lX11 -lSM -lICE -lpthread 1>&5
/usr/bin/ld: cannot find -lqt-mt
collect2: ld returned 1 exit status
configure:21211: $? = 1
configure: failed program was:
#include "confdefs.h"
#include <qglobal.h>
#include <qapplication.h>
#include <qcursor.h>
#include <qstylefactory.h>
#include <private/qucomextra_p.h>
#if ! (QT_VERSION >= 0x030100)
#error 1
#endif
int main() {
(void)QStyleFactory::create(QString::null);
QCursor c(Qt::WhatsThisCursor);
return 0;
}
configure:21251: error: Qt (>= Qt 3.1 (20021021)) (library qt-mt) not found. Please check your installation!
For more details about this problem, look at the end of config.log.
Make sure that you have compiled Qt with thread support!
The linker doesn't seem to find one of these:
$ echo /usr/lib/libqt-mt.*
/usr/lib/libqt-mt.so.3 /usr/lib/libqt-mt.so.3.1 /usr/lib/libqt-mt.so.3.1.2
After
# cd /usr/lib/ ; ln -s libqt-mt.so.3 libqt-mt.so
configure still fails, this time with another linker error message:
configure:21208: rm -rf SunWS_cache; g++ -o conftest -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -I/usr/include/qt3 -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -L/usr/lib -L/usr/X11R6/lib conftest.cc -lqt-mt -lpng -lz -lm -ljpeg -ldl -lXext -lX11 -lSM -lICE -lpthread 1>&5
/tmp/ccf6qlHG.o(.text+0xe): In function `main':
: undefined reference to `QString::null'
/tmp/ccf6qlHG.o(.text+0x13): In function `main':
: undefined reference to `QStyleFactory::create(QString const&)'
/tmp/ccf6qlHG.o(.text+0x20): In function `main':
: undefined reference to `QCursor::QCursor[in-charge](int)'
/tmp/ccf6qlHG.o(.text+0x28): In function `main':
: undefined reference to `QCursor::~QCursor [in-charge]()'
/tmp/ccf6qlHG.o(.gnu.linkonce.r._ZTV6QGList+0xc): undefined reference to `QGList::clear()'
/tmp/ccf6qlHG.o(.gnu.linkonce.r._ZTV6QGList+0x10): undefined reference to `QGList::~QGList [in-charge]()'
/tmp/ccf6qlHG.o(.gnu.linkonce.r._ZTV6QGList+0x14): undefined reference to `QGList::~QGList [in-charge deleting]()'
/tmp/ccf6qlHG.o(.gnu.linkonce.r._ZTV6QGList+0x18): undefined reference to `QPtrCollection::newItem(void*)'
/tmp/ccf6qlHG.o(.gnu.linkonce.r._ZTV6QGList+0x20): undefined reference to `QGList::compareItems(void*, void*)'
/tmp/ccf6qlHG.o(.gnu.linkonce.r._ZTV6QGList+0x24): undefined reference to `QGList::read(QDataStream&, void*&)'
/tmp/ccf6qlHG.o(.gnu.linkonce.r._ZTV6QGList+0x28): undefined reference to `QGList::write(QDataStream&, void*) const'
/tmp/ccf6qlHG.o(.gnu.linkonce.r._ZTI6QGList+0x8): undefined reference to `typeinfo for QPtrCollection'
collect2: ld returned 1 exit status
The relevant packages are:
# dpkg -l \*qt3\* | egrep -i '^i|^.i'
ii libqt3 3.1.2-0woody1 Qt Library
ii libqt3-dev 3.1.2-0woody1 Qt development files
ii libqt3-headers 3.1.2-0woody1 Qt3 header files
ii libqt3-mt 3.1.2-0woody1 Qt GUI Library (Threaded runtime version)
ii qt3-dev-tools 3.1.2-0woody1 Qt3 development tools
Now my questions:
1. Why does the linker not accept /usr/lib/libqt-mt.so.3 as a match for
-lqt-mt?
2. What's wrong with that configuration error?
Kind regards,
Hannah.
Reply to: