liba52 make fail//xmms compile
lux-integ at btconnect.com
Fri Dec 19 15:16:23 PST 2008
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
> cp makefiles/makefile.linux Makefile
> 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)
> (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
> 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
Both work. Which is better?
I now have a peoblm with xmms install (see below)
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: *** [xmms] Error 1
“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
More information about the blfs-support