On 4/7/20 5:32 AM, Ken Moffat via lfs-dev wrote:
On Mon, Apr 06, 2020 at 10:51:57PM -0500, Bruce Dubbs via lfs-dev wrote:
Can someone remind me why we keep /usr/lib/libc.a around?
I was rebuilding grep-3.4 with pcre and it was segfaulting. Upon
investigation I find I had:
[ /build/grep/grep-3.4 ]$ ldd src/grep
linux-vdso.so.1 (0x00007ffded180000)
libpcre.so.1 => /lib/libpcre.so.1 (0x00007f38dd95e000)
libsigsegv.so.2 => /usr/lib/libsigsegv.so.2 (0x00007f38dd958000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f38dd93e000)
libc.so.6 => /lib/libc.so.6 (0x00007f38dd77b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f38dd9d4000)
I wondered why the heck libgcc_s.so.1 was there so I found that the build
was linking in /usr/lib/libc.a. Removing that fixed things up.
-- Bruce
I think it might get used from time to time by tests, or when
building fully-static libraries. Like most static libs mine is
normally renamed (libc.a.hidden in this case), but a quick look at
my current scripts doesn't find anything where I make it available.
For grep I've just run the following:
./configure --prefix=/usr --bindir=/bin
make
and
ken@origin /tmp/grep-3.4 $ldd src/grep
linux-vdso.so.1 (0x00007ffe0a7b4000)
libpcre.so.1 => /lib/libpcre.so.1 (0x00007fe15f089000)
libc.so.6 => /lib/libc.so.6 (0x00007fe15ee96000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fe15ee74000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe15f123000)
I don't have libsigsegv on this new system at the moment.
On a 9.0 system where I do have libsigsegv:
ken@deluxe /tmp/grep-3.4 $ldd src/grep
linux-vdso.so.1 (0x00007ffe55ae7000)
libpcre.so.1 => /lib/libpcre.so.1 (0x00007fec26b78000)
libsigsegv.so.2 => /usr/lib/libsigsegv.so.2 (0x00007fec26b72000)
libc.so.6 => /lib/libc.so.6 (0x00007fec26980000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fec2695d000)
/lib64/ld-linux-x86-64.so.2 (0x00007fec26c15000)
So I have no idea why your build linked to libgcc_s. I didn't
install either version, but the tests seemed ok (7 skipped without
libsigsegv, only 6 skipped with it).
Yes, it is weird problem. After hiding libc.a everything worked as it
is supposed to. The weird part is that after I restored libc.a,
everything still worked OK. Classifying this as 'gremlins'.
-- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page