[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Changes in libtool (or something related) caused my cvs build to fail
From:       Luis Pedro Coelho <luis_pedro () netcabo ! pt>
Date:       2002-05-31 15:21:18
[Download RAW message or body]

Hi,

I keep both KDE HEAD and a stable 2.2 in my system. 2.2 is in /usr/ (where RH 
put it) and HEAD is in /opt/kde-cvs. Normally I choose which one to run by 
adjusting the path to include (or not) /opt/kde-cvs/bin before /usr/bin. The 
kde libs are in /opt/kde-cvs/lib and /usr/lib.

Up to a week ago, everything worked fine. Now, I cannot get HEAD to compile. 
The problem is that basically that after every object file has been built, 
linking fails because ld looks at the libs in /usr/lib and not the ones in 
/opt/kde-cvs/lib.

I pass the lib paths to configure using "--with-kde-dir=/opt/kde-cvs/lib" and 
"--with-qt-dir=/opt/kde-cvs/src/qt-copy". This makes libtool pass to ld 
something like "-L/opt/kde-cvs/lib" and "-R /opt/kde-cvs/lib". The problem is 
that these commands must come before "-L/usr/lib" and "-R /opt/kde-cvs/lib". 
Up to a week ago they were, right now they are not.

For example, here is the output of "make" in kdebase/konsole/konsole (after 
building the objects):

/bin/sh ../../libtool --silent --mode=link --tag=CXX g++  -Wnon-virtual-dtor 
-Wno-long-long -Wbad-function-cast -Wundef -Wall -pedantic -W -Wpointer-arith 
-Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE 
-Wcast-align -Wconversion -fno-builtin -g3 -fno-exceptions -fno-check-new 
-DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -DQT_NO_ASCII_CAST   -o 
libkonsolepart.la.closure libkonsolepart_la_closure.lo -L/usr/X11R6/lib 
-L/opt/kde-cvs/src/qt-copy/lib -L/usr/lib  -L/opt/kde-cvs/lib -avoid-version 
-module -no-undefined -R /usr/lib -R /opt/kde-cvs/src/qt-copy/lib -R 
/usr/X11R6/lib -R /opt/kde-cvs/lib  TEPty.lo BlockArray.lo konsole_part.lo 
schema.lo session.lo TEWidget.lo TEmuVt102.lo TEScreen.lo konsole_wcwidth.lo 
TEmulation.lo TEHistory.lo keytrans.lo konsoleiface_skel.lo 
sessioniface_skel.lo libkonsolepart_la_meta_unload.lo  -lkparts -lutil -lXtst
/usr/bin/ld: cannot find -lqt
collect2: ld returned 1 exit status

if you take away the silent from libtool, here is what you get:

g++ -Wnon-virtual-dtor -Wno-long-long -Wbad-function-cast -Wundef -Wall 
-pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi 
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -fno-builtin -g3 
-fno-exceptions -fno-check-new -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT 
-DQT_NO_ASCII_CAST -o libkonsolepart.la.closure 
.libs/libkonsolepart_la_closure.o .libs/TEPty.o .libs/BlockArray.o 
.libs/konsole_part.o .libs/schema.o .libs/session.o .libs/TEWidget.o 
.libs/TEmuVt102.o .libs/TEScreen.o .libs/konsole_wcwidth.o .libs/TEmulation.o 
.libs/TEHistory.o .libs/keytrans.o .libs/konsoleiface_skel.o 
.libs/sessioniface_skel.o .libs/libkonsolepart_la_meta_unload.o  
-L/usr/X11R6/lib -L/opt/kde-cvs/src/qt-copy/lib -L/usr/lib -L/opt/kde-cvs/lib 
/usr/lib/libkparts.so -L/usr/lib/qt-2.3.1/lib 
-L/usr/lib/gcc-lib/i386-redhat-linux/2.96 
-L/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../.. /usr/lib/libkfile.so 
/usr/lib/libksycoca.so /usr/lib/libkio.so /usr/lib/libkdesu.so 
/usr/lib/libkssl.so /usr/lib/libkdeui.so /usr/lib/libkdecore.so -ldl 
/usr/lib/libDCOP.so -lqt -lpng /usr/lib/libjpeg.so -lXext -lX11 -lSM -lICE 
-lresolv -lz /usr/lib/libfam.so -lstdc++ -lm -lc -lgcc -lutil -lXtst 
-Wl,--rpath -Wl,/usr/lib -Wl,--rpath -Wl,/opt/kde-cvs/src/qt-copy/lib 
-Wl,--rpath -Wl,/usr/X11R6/lib -Wl,--rpath -Wl,/opt/kde-cvs/lib

As you can see, you have "-L/usr/lib" before "-L/opt/kde-cvs/lib".

Regards,
-- 
Luis Pedro Coelho.

Check out my game of Hearts, a card game, for KDE at:
http://hearts.sourceforge.net/


>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic