trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: March 2012

Re: [trinity-devel] tdeutils: Why does it try "Detected TQt4..."

From: Darrell Anderson <humanreadable@...>
Date: Wed, 14 Mar 2012 20:17:06 -0700 (PDT)
>   Am I missing something in the autoreconf step before
> going to configure?
> 
>   make -f admin/Makefile.common
>   autoreconf
> 
>   ## configure
>   msg "Configuring - ${pkgname}..."
>   ./configure \
>     --prefix=${TDEDIR} \
>     --sysconfdir=/etc \
>     --localstatedir=/var \
>     --enable-closure

I don't use autoreconf. Possibly could save me time, I don't know, but as I rebuild often for testing, I build each package clean each time. In my automake scripts I run this:

cp -p "$LIBTOOLM4" admin/libtool.m4.in
cp -p "$LTMAINSH" admin/ltmain.sh
echo "Building..."
echo
make -f admin/Makefile.common

CFLAGS=$CPUOPT \
CXXFLAGS=$CPUOPT \
./configure \
  --prefix=${PREFIX} \
  --sysconfdir=${SYSCONFDIR} \
  --libdir=${LIBDIR} \
  --mandir=${MANDIR} \
  $DEBUG_AUTOTOOL_OPT \
  --enable-closure || exit 1

Where on my system (Slackware):

LIBTOOLM4="/usr/lib/build/libtool.m4"
LTMAINSH="/usr/lib/build/ltmain.sh"


> checking for X... libraries /usr/lib, headers .
> checking for IceConnectionNumber in -lICE... yes
> checking for libXext... yes
> Detected TQt4...
> checking for pthread_create in -lpthread... yes
> checking for extra includes... no
> checking for extra libs... no
> checking for libz... -lz
> checking for libpng... -lpng -lz -lm
> checking for libjpeg6b... no
> checking for libjpeg... -ljpeg
> checking for perl... /usr/bin/perl
> checking for Qt... checking for pkg-config...
> /usr/bin/pkg-config
> configure: error: Qt (>= Qt 4.3 and < 5.0) (headers
> and libraries) not found.
> Please check your installation!
> For more details about this problem, look at the end of
> config.log.
> 
>   I get Detected TQt4 no matter what?


In my tdeutils build log, which I just ran a bit ago:

Detected TQt3...

I don't think your build script is finding tqt.h in the expected location: /usr/include/tqt/tqt.h. Where do you have tqtinterface installed?

Right now the install location of tqtinterface is hard-set to only /usr/include. If you look at tdeutils/admin/acinclude.m4.in:1252, you'll see the test for Qt3/Qt4. I don't understand M4 syntax very well, but I see the following:

CXXFLAGS="-I/usr/include/tqt"
  AC_TRY_COMPILE([
  #define TQT_VERSION_ONLY
  #include <tqt.h>

Notice the presumption that tqt.h is found in /usr/include/tqt.

I'm guessing that if you don't have tqtinterface installed to /usr/include/tqt and you have Qt4 installed in your build environment, then you get what you now see in your build log.

For building purposes I do not have Qt4 or KDE4 installed in my Trinity build environment. I keep my build environment as clean as possible to avoid conflicts and bad linking.

I use a master control script to run each pacage's build script. Through that master build script I explicitly set the following:

PREFIX: /opt/trinity
SYSCONFDIR: /etc/trinity
LIBDIR: /opt/trinity/lib
MANDIR: /opt/trinity/man

PKG_CONFIG_PATH: /opt/trinity/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
QTDIR: /opt/trinity
QT_INCLUDE_DIR: /opt/trinity/include
QT_LIB_DIR: /opt/trinity/lib
LD_LIBRARY_PATH: /opt/trinity/lib:/opt/trinity/lib/trinity
PATH: /usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/opt/trinity/bin:/usr/bin:/bin:/usr/games:/usr/lib/java/bin:/usr/lib/java/jre/bin:/usr/lib/java/bin:/usr/kerberos/bin:/usr/kerberos/sbin:/usr/share/texmf/bin

I can change those variables but seldom do.

Darrell