On Friday 19 December 2008 02:28:08 pm Ken Moffat wrote: > On Fri, Dec 19, 2008 at 01:28:19PM +0200, Lauri Kasanen wrote: > > Hello > > > > Using static libraries does not prevent linking them, it just might be > > more complicated. However, for the original problem, build requiring > > -fPIC, you can just force it by adding that flag to your CFLAGS and > > CXXFLAGS before running configure. That has worked for me several times > > (on a pure64 bit CLFS build too). > > > > Lauri > > Yes, that is the general way to force it. I have the following in > my current scripts (for x86_64), there used to be a few more but the > upstreams have caught up with the platform. > > libmng : > if [ $ARCH = x86_64 ]; then > sed -e 's%-O3%-O3 -fPIC%' \ > makefiles/makefile.linux >Makefile > else > cp makefiles/makefile.linux Makefile > fi > > gpl-ghostscript (this is from cblfs) : > sed -i "s/CFLAGS='/&-fPIC /g" src/unix-dll.mak > > for liba52, which started this, I had the following in the configure > (but I've commented out the package, I decided I didn't need it) > CFLAGS="$CFLAGS -fPIC" > > for ffmpeg (the old snapshot still in BLFS) > OPTFLAGS="OPTFLAGS=-fPIC" > (I think this is not needed with recent snapshots). > > My view of static libraries is that most of us need to avoid them, > and failing that, we need to know when they have been used so that > we can keep track of what to rebuild after a vulnerability becomes > known. I admit I haven't yet applied that to the base LFS/clfs > systems (did a bit in my last LFS, identified that module-init-tools > needs static libz - not really a surprise). If in doubt > (particularly, mozilla products and tcl) I rename the static libs > to filename.a.hidden so that if I later need them I can temporarily > restore them to the original name. I also do that for static libs > that I can't otherwise prevent (compare fedora - they do the DESTDIR > install, then remove them). For all my desktop packages I attempt > to build without static libs. > > Getting rid of static libs also saves some space. Application > hackers are, of course, free to build and use them where it makes > sense. > > ĸen > -- > das eine Mal als Tragödie, das andere Mal als Farce
thanks before I saw your email I managed to compile with share libraries using CFLAGS="$BUILD64 -fPIC" . I have now tried with CFLAGS="$CFLAGS -fPIC". Both work. Which is better? I now have a peoblm with xmms install (see below) #####xmms-1.2.11 lib/libXxf86vm.so ../libxmms/.libs/libxmms.so -L/usr/X11R7.4/lib -luuid -lpthread -ldl -lm -Wl,--rpath -Wl,/opt/gtk1210/lib ../libxmms/.libs/libxmms.so: undefined reference to `libiconv' ../libxmms/.libs/libxmms.so: undefined reference to `libiconv_close' ../libxmms/.libs/libxmms.so: undefined reference to `libiconv_open' collect2: ld returned 1 exit status make[4]: *** [xmms] Error 1 suggestions welcomed lux integ -- ################################### “Common sense teaches that booksellers should not speculate in hops, or bankers in turpentine; that railways should not be promoted by maiden ladies, or canals by beneficed clergymen ....” Walter Bagehot-economist: 1826-1877 -- http://linuxfromscratch.org/mailman/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
