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

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: