1 |
Hi List, |
2 |
|
3 |
I'm in a bit of trouble. A server or ours has a broken e2fsck because it |
4 |
is linked to a library version that doesn't exist anymore. Yes, I should |
5 |
have fixed this before-- but alas, I obviously didn't... :-( |
6 |
|
7 |
Tonight, the server had a hard crash and the only way to get it up again |
8 |
(no IT people at the location) was by talking someone through a process |
9 |
wherein I replaced e2fsck by /bin/true so it would not complain at boot |
10 |
(where it would remain in an inaccesible state, with a panic shell). |
11 |
So it is up and running again. All /seems/ fine, for now at least... |
12 |
|
13 |
However, we must certainly assume the disk is in a dirty state so I |
14 |
really do not want to do more than the bare minimum to it. So emerging |
15 |
isn't a real good idea. Even then, I still tried. But it seems that |
16 |
-despite the state of the bug(s) about e2fsprogs which are in |
17 |
{resolved,fixed} state I cannot get e2fsprogs to compile AT ALL. |
18 |
I've tried 10 different versions, etc., etc. To no avail. (Error below) |
19 |
I believe looking at google and forum entries e2fsprogs on gentoo has a |
20 |
*terrible* track record of late by the way, but maybe that is just me. |
21 |
|
22 |
Things get more complicated fast, because this server has a CHOST i386 |
23 |
therefore -unless someone tells me otherwise- I cannot update glibc, and |
24 |
practise has taught us to not upgrade packages/libs left and right |
25 |
because you invariably end up, at revdep-rebuild time, with dependencies |
26 |
which are unsolvable "unless...". And it is the "unless" (meaning emerge |
27 |
-e world) which is unacceptable for this (or any production-) server... |
28 |
|
29 |
It crashes on the "../../lib/libuuid.so: undefined reference to |
30 |
`___tls_get_addr'". The two bugzilla entries that apply basically tell |
31 |
me to rebuild from scratch, which I cannot do for reasons outlined |
32 |
above. (http://bugs.gentoo.org/204102 & http://bugs.gentoo.org/232743) |
33 |
|
34 |
|
35 |
-in short- |
36 |
So as to avoid any further messing with the box I opted for building a |
37 |
statically linked e2fsck binary on another box and copy it. However, I'm |
38 |
having no luck with that. I can build static binaries fine for other |
39 |
packages, but e2fsprogs refuses to build a static version. |
40 |
(It builds, but the result is still dynamically linked) |
41 |
|
42 |
Can anyone help with this ? Does this package not support building |
43 |
static ? The USE flag is there for a reason, no? Did I take the wrong |
44 |
approach here ? What is up with this [damn] package ?!? |
45 |
|
46 |
|
47 |
# Grep works fine... |
48 |
maarten@thoughtpad ~ $ ldd /bin/grep |
49 |
linux-gate.so.1 => (0xffffe000) |
50 |
libc.so.6 => /lib/libc.so.6 (0xb7e42000) |
51 |
/lib/ld-linux.so.2 (0xb7f96000) |
52 |
|
53 |
thoughtpad ~ # USE="static" emerge -v grep |
54 |
[snip] |
55 |
|
56 |
maarten@thoughtpad ~ $ ldd /bin/grep |
57 |
not a dynamic executable |
58 |
|
59 |
# But e2fsprogs doesn't... |
60 |
|
61 |
maarten@thoughtpad ~ $ ldd /sbin/e2fsck |
62 |
linux-gate.so.1 => (0xffffe000) |
63 |
libext2fs.so.2 => /lib/libext2fs.so.2 (0xb7ea1000) |
64 |
libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7e9d000) |
65 |
libblkid.so.1 => /lib/libblkid.so.1 (0xb7e93000) |
66 |
libuuid.so.1 => /lib/libuuid.so.1 (0xb7e8e000) |
67 |
libe2p.so.2 => /lib/libe2p.so.2 (0xb7e87000) |
68 |
libc.so.6 => /lib/libc.so.6 (0xb7d55000) |
69 |
/lib/ld-linux.so.2 (0xb7ee8000) |
70 |
|
71 |
thoughtpad ~ # USE="static" emerge -v e2fsprogs |
72 |
[ebuild R ] sys-fs/e2fsprogs-1.40.9 USE="nls static*" 0 kB |
73 |
[snip] |
74 |
Enabling ELF shared libraries |
75 |
[snip] |
76 |
checking whether linker accepts -static... yes |
77 |
[snip] |
78 |
>>> Completed installing e2fsprogs-1.40.9 into |
79 |
/var/tmp/portage/sys-fs/e2fsprogs-1.40.9/image/ |
80 |
|
81 |
# After that, no change, however... |
82 |
maarten@thoughtpad ~ $ ldd /sbin/e2fsck |
83 |
linux-gate.so.1 => (0xffffe000) |
84 |
libext2fs.so.2 => /lib/libext2fs.so.2 (0xb7f7f000) |
85 |
libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7f7b000) |
86 |
libblkid.so.1 => /lib/libblkid.so.1 (0xb7f71000) |
87 |
libuuid.so.1 => /lib/libuuid.so.1 (0xb7f6c000) |
88 |
libe2p.so.2 => /lib/libe2p.so.2 (0xb7f65000) |
89 |
libc.so.6 => /lib/libc.so.6 (0xb7e33000) |
90 |
/lib/ld-linux.so.2 (0xb7fc6000) |
91 |
|
92 |
maarten@thoughtpad ~ $ ls -la /sbin/e2fsck |
93 |
-rwxr-xr-x 1 root root 159896 Sep 24 21:17 /sbin/e2fsck |
94 |
|
95 |
maarten@thoughtpad ~ $ file /sbin/e2fsck |
96 |
/sbin/e2fsck: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), |
97 |
for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped |
98 |
|
99 |
|
100 |
Thanks in advance for any insights... |
101 |
Maarten |