Re: Compiling third party KDE packages
On Wednesday 20 August 2003 00:24, Hannah Schroeter wrote:
> Hello!
If you are (co-)maintining a testing installation ;-), then you have gcc 2.95,
3.0, 3.2 and probably 3.3. Kde Debian Packages are compiled with gcc 2.95 and
the libraries compiled with this version are incompatible with gcc 3.2, gcc
3.3 and probably 3.0 too.
Type "ls -al /usr/bin/gcc" and if you sea something like this:
lrwxrwxrwx 1 root root 16 2003-06-06 13:41 gcc -> /usr/bin/gcc-3.2
or this
lrwxrwxrwx 1 root root 16 2003-06-06 13:41 gcc -> /usr/bin/gcc-3.2
you must to delete the symlink with "rm gcc gccbug" and replace it with this
commands:
ln -s /usr/bin/gcc-2.95 gcc
ln -s /usr/bin/gccbug-2.95 gccbug
You can change too the CXXFLAFS and CFLAGS, but I prefer the method I explain
you.
>
> 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: