[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: