trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: December 2011

Re: [trinity-devel] Building kdeadmin

From: L0ner sh4dou <sh4dou@...>
Date: Thu, 22 Dec 2011 12:53:46 +0100
2011/12/22 Bruce Dubbs <bruce.dubbs@...>:
> /dev/ammo42 wrote:
>>
>> On Wed, 21 Dec 2011 22:51:28 -0600
>> Bruce Dubbs <bruce.dubbs@...> wrote:
>>
>>> I've been struggling a bit with building kdeadmin-3.5.13.
>
>
>>> I have qt in /opt/qt and Trinity base in /opt/trinity.   Configure fails
>>> to find tqt and then thinks
>>> it's version 4.  It doesn't find qt and fails.  This can be overcome
>>> with:
>>>
>>> CPPFLAGS='-I/opt/trinity/include/tqt' \
>>>    ./configure --prefix=/opt/trinity ...
>>>
>>> The --with-qt-includes option does not solve the problem, but the
>>> CPPFLAGS can be either before or after ./configure.
>>>
>>> Environment variables are:
>>>
>>> PATH=/opt/trinity/bin:/usr/local/bin:/bin:/usr/bin:\
>>> /opt/texlive/2011/bin/x86_64-linux:\
>>> /opt/llvm/bin:/opt/qt/bin:/opt/xorg/bin:/sbin:/usr/sbin
>>>
>>> PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:\
>>> /usr/local/lib/pkgconfig:\
>>> /opt/qt/lib/pkgconfig:\
>>> /opt/xorg/lib/pkgconfig:\
>>> /opt/xorg/share/pkgconfig
>>>
>>> QTDIR=/opt/qt
>>>
>>> Then the make fails in several places.  What I finally found that
>>> works is:
>>>
>>> make LDFLAGS='-lqt -lkdecore' \
>>>    TQTDCOPIDL=dcopidl2cpp \
>>>    TQTDCOPIDL2CPP=dcopidl2cpp
>>>
>>> This again tells me that configure didn't do it's job.  In the
>>> Makefile, both TQTDCOPIDL and TQTDCOPIDL2CPP are blank.  The
>>> LIB_KDECORE variable is set correctly but is not used.
>>> LIBTQT_LDFLAGS is set to -ltqt, but that doesn't do the job.
>>>
>>> There are two programs in /opt/trinity/bin: dcopidl2cpp-tqt and
>>> dcopidl-tqt, but they do not work with the input in the Makefile.
>>>
>>> I did not have any of these problems in KDE3.  Is there something I'm
>>> missing here?
>
>
>> Yes, you forgot the --enable-closure option of ./configure that is
>> mentioned as "undocumented but necessary" at
>> http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild .
>> Without it kdeadmin-3.5.10 doesn't build on Trinity without the same
>> hacks as yours either.
>
>
> When I do:
>
> ./configure --prefix=/opt/trinity --enable-closure
>
> I get:
> ...
> Detected TQt4...
> ...
> configure: error: Qt (>= Qt 4.3 and < 5.0) (headers and libraries) not
> found. Please check your installation!
>
> --enable-closure adjusts KDE_USE_CLOSURE_TRUE, KDE_USE_CLOSURE_FALSE and
> KDE_NO_UNDEFINED.   The first two are not used in kdeadmin.  The third sets
> the linker to "-Wl,--no-undefined -Wl,--allow-shlib-undefined". That fixes
> the need to use LDFLAGS, but it doesn't help detect dcopidl2cpp and
> dcopidl2cpp.
>
> So:
>
> CPPFLAGS='-I/opt/trinity/include/tqt' \
>  ./configure --prefix=/opt/trinity --enable-closure
> make TQTDCOPIDL=dcopidl2cpp TQTDCOPIDL2CPP=dcopidl2cpp
>
> now works.  I suppose I could use:
>  export CPLUS_INCLUDE_PATH='/opt/trinity/include/tqt'
>  ./configure --prefix=/opt/trinity --enable-closure
> as an alternative to CPPFLAGS.
>
> And yes, the instructions for 3.5.10 worked fine without hacks:
>
> http://www.linuxfromscratch.org/blfs/view/svn/kde/kdeadmin.html
>
>
1) Did you install TQtinterface in /usr? I had the same error, and
apparentely autotools will refuse to detect it correctly if it's not
installed in /usr.
2) Try specifying manually paths to Qt3 in your ./configure
(--with-qt-dir= option if I remember correctly).

For building trinity, check out arch PKGBUILDs in our git tree. They
are pretty much bash scripts with some variables used by pacman to
create binary packages. What you need to look at is the build()
function.