I've been working with static libraries today.

I was able to remove most of them and got through a complete LFS build. What was left was:

bzip2:/usr/lib/libbz2.a
gcc:/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/libgcc.a
gcc:/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/libgcc_eh.a
gcc:/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/libgcov.a
glibc:/usr/lib/libc.a
glibc:/usr/lib/libc_nonshared.a
glibc:/usr/lib/libcrypt.a
glibc:/usr/lib/libdl.a
glibc:/usr/lib/libg.a
glibc:/usr/lib/libieee.a
glibc:/usr/lib/libm.a
glibc:/usr/lib/libmcheck.a
glibc:/usr/lib/libpthread.a
glibc:/usr/lib/libpthread_nonshared.a
glibc:/usr/lib/librpcsvc.a

However, some additional tests failed.  The *new* failures are:

078-binutils-2.25:FAIL: static preinit array
078-binutils-2.25:FAIL: static init array
078-binutils-2.25:FAIL: static fini array
078-binutils-2.25:FAIL: static init array mixed
078-binutils-2.25:FAIL: Could not link a static executable
078-binutils-2.25:FAIL: Run mpx1 with -static
078-binutils-2.25:FAIL: Run mpx2 with -static

103-libtool-2.4.6: 70: Runpath in libtool library files    FAILED
103-libtool-2.4.6:117: enforced lib prefix                 FAILED
103-libtool-2.4.6:170: Run tests with low max_cmd_len      FAILED

110-automake-1.15:FAIL: t/lex-clean-cxx.sh
110-automake-1.15:FAIL: t/lex-depend-cxx.sh

I'm having second thoughts about removing the static libraries. There are really not that many in LFS and some in glibc appear to really be needed. I'm not sure if the gcc libraries above are needed or not.

OTOH, Ubuntu 14.04.2 has none of the above libraries in a standard install.

Is removing static libaries really worthwhile? I'm leaning to no. It takes away options from the user that would be hard to replace without rebuilding the entire system.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to