trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: September 2011

Re: [trinity-devel] kdebase problem: Library files for 'xxxx.la' not found in paths

From: Francois Andriot <francois.andriot@...>
Date: Sun, 04 Sep 2011 20:46:13 +0200
Le 04/09/2011 20:13, Timothy Pearson a écrit :
> Did you set -DLIB_SUFFIX="64" ?
> I just looked through the CMake files and it appears that if that flag is
> set (and it is a relatively standard CMake flag if you Google it) that the
> libraries should be installed into lib64/.
>
> Also make sure that LIB_INSTALL_DIR is not being overridden via a CMake
> flag anywhere in your build scripts.
>
Hello,
Yes I already have -DLIB_SUFFIX="64" .
most of my cmake command is auto-generated by rpmbuild macros.
I just have to add the optionnal features (-DWITH_XXX=ON) ...

The actual command for configuring kdebase 3.5.13 on RHEL6 is :

/usr/bin/cmake -DCMAKE_VERBOSE_MAKEFILE=ON 
-DCMAKE_INSTALL_PREFIX:PATH=/opt/trinity 
-DCMAKE_INSTALL_LIBDIR:PATH=/opt/trinity/lib64 
-DINCLUDE_INSTALL_DIR:PATH=/opt/trinity/include 
-DLIB_INSTALL_DIR:PATH=/opt/trinity/lib64 
-DSYSCONF_INSTALL_DIR:PATH=/etc 
-DSHARE_INSTALL_PREFIX:PATH=/opt/trinity/share -DLIB_SUFFIX=64 
-DBUILD_SHARED_LIBS:BOOL=ON -DWITH_SASL=ON -DWITH_LDAP=ON 
-DWITH_SAMBA=ON -DWITH_OPENEXR=ON -DWITH_XCOMPOSITE=ON -DWITH_XCURSOR=ON 
-DWITH_XFIXES=ON -DWITH_XRANDR=ON -DWITH_XRENDER=ON -DWITH_XDAMAGE=ON 
-DWITH_XEXT=ON -DWITH_LIBUSB=ON -DWITH_LIBRAW1394=ON -DWITH_PAM=ON 
-DWITH_SHADOW=OFF -DWITH_XDMCP=ON -DWITH_XINERAMA=ON -DWITH_ARTS=ON 
-DWITH_I8K=OFF -DWITH_HAL=ON -DBUILD_ALL=ON ..

then after the "make install", libraries are copied to 
/opt/trinity/lib64 as expected.
Alas, kwin (and other kdebase stuffs) still keep looking at 
/opt/trinity/lib for ".la" files ...


FYI, please note that with TDE 3.5.12 , I get the exact opposite behaviour:
If I try to force "/opt/trinity/lib" for the libraries (no problem with 
lib64).
then my ./configure is :

  ./configure --build=x86_64-redhat-linux-gnu 
--host=x86_64-redhat-linux-gnu --target=x86_64-redhat-linux-gnu 
--program-prefix= --prefix=/opt/trinity --exec-prefix=/opt/trinity 
--bindir=/opt/trinity/bin --sbindir=/opt/trinity/sbin --sysconfdir=/etc 
--datadir=/opt/trinity/share --includedir=/opt/trinity/include 
--libdir=/opt/trinity/lib --libexecdir=/opt/trinity/libexec 
--localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man 
--infodir=/usr/share/info --disable-rpath --enable-new-ldflags 
--disable-dependency-tracking --disable-debug --disable-warnings 
--enable-final --with-pam=yes --with-kdm-pam=kdm 
--with-kcp-pam=kcheckpass --with-kss-pam=kscreensaver --with-libraw1394 
--with-openexr --with-samba --with-xinerama --with-xscreensaver 
--without-shadow --with-extra-includes=/opt/trinity/include/tqt

Then after "make install", the libraries are installed under 
/opt/trinity/lib as expected, BUT this time kwin & co are searching the 
".la" files under /opt/trinity/lib64 !!!

To sum up things:
TDE 3.5.12 (autotools) only works with /opt/trinity/lib64
TDE 3.5.13 (cmake) only works with /opt/trinity/lib

What an headache ! :-)

Francois Andriot