trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: December 2011

Re: [trinity-devel] Building kdeadmin

From: Bruce Dubbs <bruce.dubbs@...>
Date: Fri, 23 Dec 2011 12:59:30 -0600
L0ner sh4dou wrote:
> 2011/12/22 Bruce Dubbs <bruce.dubbs@...>:
>> L0ner sh4dou wrote:
>>
>>> 1) Did you install TQtinterface in /usr?
>>
>> No, in /opt/trinity.

> It's wrote in the wiki you that you need to install it in the /usr. It
> helped me to bulit things with autotools on arch.

I think it's a mistake to force the location of a package.  The issues 
are really the path for programs, headers, and libraries.  The 
pkg-config files are designed to help with that along with a few 
environment variables: PATH, LD_LIBRARY_PATH (or ld.so.conf), and 
PKG_CONFIG_PATH.

Other variables that really shouldn't be necessary are LIBRARY_PATH, 
C_INCLUDE_PATH, and CPLUS_INCLUDE_PATH that are explicitly for gcc.  I 
don't recall ever having to use these before I started looking at Trinity.

Perhaps the biggest problem I have is that I do not have Xorg in /usr 
(although there is a symlink form /usr/X11R6 to /opt/xorg).  I build it 
in /opt for the same reason you build Trinity in /opt, but there doesn't 
seem to be an easy way to account for that.

>>> 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.
>>
>> Is there a way to browse the git tree via a web interface?
> Yes. http://git.trinitydesktop.org/cgit/tde/tree/

It took me a while to find the PKGBUILD files.  It's interesting how 
close they are to what I came up with on my own, but they are very helpful.

One of the problems I have is the prerequsites for many packages.  You 
interface with some of the older libraries.  For example, we just 
removed xmms from BLFS because it only supports GTK1 and we decided that 
two versions (gtk2 and gtk3) were enough for us.  The most recent commit 
to gtk1 is 2003.

>> After some more research, the following works for me:
>>
>> ---------
>> TRINITY_PREFIX=/opt/trinity
>>
>> cp -v /usr/share/aclocal/libtool.m4       admin/libtool.m4.in
>> cp -v /usr/share/libtool/config/ltmain.sh admin/ltmain.sh
>>
>> sed -i -e "s@/usr/include/tqt@$TRINITY_PREFIX/include/tqt@" \
>>          admin/acinclude.m4.in
>>
>> make -f admin/Makefile.common
>>
>> ./configure --prefix=$TRINITY_PREFIX \
>>            --enable-closure         \
>>            --sysconfdir=/etc        \
>>            --localstatedir=/var     \
>>            --with-extra-libs=$TRINITY_PREFIX/lib
>>
>> make
>> ---------
>>
>> admin/acinclude.m4.in hard codes /usr/include/tqt instead of getting it from
>> tqt.pc, which is set up correctly on my system.  It also does not set up the
>> Trinity libraries correctly, even though it could be determined from either
>> the PATH or --prefix.

>> Note that I could not detect any effect for --sysconfdir or --localstatedir
>> for kdeadmin.

> Resolved?

The fix to admin/acinclude.m4 is the sed above.

I don't think the comment about --sysconfdir and --localstatedir for 
kdeadmin is an issue,  I just don't think they are used in that package, 
and indeed, they are not set in the kdeadmin PKGBUILD file.

   -- Bruce