Hi List,
I'm in a bit of trouble. A server or ours has a broken e2fsck because it
is linked to a library version that doesn't exist anymore. Yes, I should
have fixed this before-- but alas, I obviously didn't... :-(
Tonight, the server had a hard crash and the only way to get it up again
(no IT people at the location) was by talking someone through a process
wherein I replaced e2fsck by /bin/true so it would not complain at boot
(where it would remain in an inaccesible state, with a panic shell).
So it is up and running again. All /seems/ fine, for now at least...
However, we must certainly assume the disk is in a dirty state so I
really do not want to do more than the bare minimum to it. So emerging
isn't a real good idea. Even then, I still tried. But it seems that
-despite the state of the bug(s) about e2fsprogs which are in
{resolved,fixed} state I cannot get e2fsprogs to compile AT ALL.
I've tried 10 different versions, etc., etc. To no avail. (Error below)
I believe looking at google and forum entries e2fsprogs on gentoo has a
*terrible* track record of late by the way, but maybe that is just me.
Things get more complicated fast, because this server has a CHOST i386
therefore -unless someone tells me otherwise- I cannot update glibc, and
practise has taught us to not upgrade packages/libs left and right
because you invariably end up, at revdep-rebuild time, with dependencies
which are unsolvable "unless...". And it is the "unless" (meaning emerge
-e world) which is unacceptable for this (or any production-) server...
It crashes on the "../../lib/libuuid.so: undefined reference to
`___tls_get_addr'". The two bugzilla entries that apply basically tell
me to rebuild from scratch, which I cannot do for reasons outlined
above. (http://bugs.gentoo.org/204102 & http://bugs.gentoo.org/232743)
-in short-
So as to avoid any further messing with the box I opted for building a
statically linked e2fsck binary on another box and copy it. However, I'm
having no luck with that. I can build static binaries fine for other
packages, but e2fsprogs refuses to build a static version.
(It builds, but the result is still dynamically linked)
Can anyone help with this ? Does this package not support building
static ? The USE flag is there for a reason, no? Did I take the wrong
approach here ? What is up with this [damn] package ?!?
# Grep works fine...
[EMAIL PROTECTED] ~ $ ldd /bin/grep
linux-gate.so.1 => (0xffffe000)
libc.so.6 => /lib/libc.so.6 (0xb7e42000)
/lib/ld-linux.so.2 (0xb7f96000)
thoughtpad ~ # USE="static" emerge -v grep
[snip]
[EMAIL PROTECTED] ~ $ ldd /bin/grep
not a dynamic executable
# But e2fsprogs doesn't...
[EMAIL PROTECTED] ~ $ ldd /sbin/e2fsck
linux-gate.so.1 => (0xffffe000)
libext2fs.so.2 => /lib/libext2fs.so.2 (0xb7ea1000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7e9d000)
libblkid.so.1 => /lib/libblkid.so.1 (0xb7e93000)
libuuid.so.1 => /lib/libuuid.so.1 (0xb7e8e000)
libe2p.so.2 => /lib/libe2p.so.2 (0xb7e87000)
libc.so.6 => /lib/libc.so.6 (0xb7d55000)
/lib/ld-linux.so.2 (0xb7ee8000)
thoughtpad ~ # USE="static" emerge -v e2fsprogs
[ebuild R ] sys-fs/e2fsprogs-1.40.9 USE="nls static*" 0 kB
[snip]
Enabling ELF shared libraries
[snip]
checking whether linker accepts -static... yes
[snip]
>>> Completed installing e2fsprogs-1.40.9 into
/var/tmp/portage/sys-fs/e2fsprogs-1.40.9/image/
# After that, no change, however...
[EMAIL PROTECTED] ~ $ ldd /sbin/e2fsck
linux-gate.so.1 => (0xffffe000)
libext2fs.so.2 => /lib/libext2fs.so.2 (0xb7f7f000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7f7b000)
libblkid.so.1 => /lib/libblkid.so.1 (0xb7f71000)
libuuid.so.1 => /lib/libuuid.so.1 (0xb7f6c000)
libe2p.so.2 => /lib/libe2p.so.2 (0xb7f65000)
libc.so.6 => /lib/libc.so.6 (0xb7e33000)
/lib/ld-linux.so.2 (0xb7fc6000)
[EMAIL PROTECTED] ~ $ ls -la /sbin/e2fsck
-rwxr-xr-x 1 root root 159896 Sep 24 21:17 /sbin/e2fsck
[EMAIL PROTECTED] ~ $ file /sbin/e2fsck
/sbin/e2fsck: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
Thanks in advance for any insights...
Maarten