httpd - another one bites the dust... after upgrade to CRUX2.4
Hi, there. Well, the same procedure as last time: Apache (httpd) in CRUX-2.3 was linked against libdb-4.4.so which gets removed (replaced by libdb-4.5.so) during an upgrade of core/db from CRUX-2.3 to CRUX-2.4: $ httpd httpd: error while loading shared libraries: libdb-4.4.so: cannot open shared object file: No such file or directory $ ldd /usr/sbin/httpd linux-gate.so.1 => (0xb7f02000) libm.so.6 => /lib/libm.so.6 (0xb7ed4000) libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0xb7ebe000) libgdbm.so.3 => /usr/lib/libgdbm.so.3 (0xb7eb8000) libdb-4.4.so => not found libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7e98000) libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0xb7e75000) libuuid.so.1 => /lib/libuuid.so.1 (0xb7e71000) librt.so.1 => /lib/librt.so.1 (0xb7e68000) libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7e3a000) libpthread.so.0 => /lib/libpthread.so.0 (0xb7e23000) libdl.so.2 => /lib/libdl.so.2 (0xb7e1f000) libc.so.6 => /lib/libc.so.6 (0xb7cf1000) /lib/ld-linux.so.2 (0xb7f03000) libdb-4.4.so => not found Hmm... I have libdb-4.5.so in /usr/lib, where it's supposed to be: -rw-r--r-- 1 root root 1405210 Nov 19 15:09 libdb-4.5.a -rw-r--r-- 1 root root 800 Nov 19 15:09 libdb-4.5.la -rwxr-xr-x 1 root root 1063036 Nov 19 15:09 libdb-4.5.so lrwxrwxrwx 1 root root 12 Nov 19 15:09 libdb-4.so -> libdb-4.5.so -rw-r--r-- 1 root root 1405210 Nov 19 15:09 libdb.a lrwxrwxrwx 1 root root 12 Nov 19 15:09 libdb.so -> libdb-4.5.so The main question here is, why isn't apache linking against libdb.so or at least to libdb-4.so where the API still needs to be stable? Okay, I guess I need to ask the guys at apache.org for that. Is it correct that a change in the library API is only allowed on a major version change? (i.e. libdb-4.x to libdb-5.x) Hmm... even more questions: is it wise to remove old libs at all, when applications are still linked against them? Is that a task, CRUX (the mainainers of the distro) should care about, or is it just user's responsibility to care about it's non ports/core apps? I guess I've seen a nice way to discover all broken binaries? (ldd over all binaries, grepping for 'not found' ... or better ideas?) Hmm... didn't find anything in the FAQs. Regards, -- Clemens Koller __________________________________ R&D Imaging Devices Anagramm GmbH Rupert-Mayer-Straße 45/1 Linhof Werksgelände D-81379 München Tel.089-741518-50 Fax 089-741518-19 http://www.anagramm-technology.com
Hi Clemens,
I guess I've seen a nice way to discover all broken binaries? (ldd over all binaries, grepping for 'not found' ... or better ideas?) Hmm... didn't find anything in the FAQs.
prt-utils: revdep - check package linkage Check also: RD_VERBOSE=2 revdep -- Falk Hamann, IT T +49-7191-9669-242, Falk.Hamann@dbaudio.com, www.dbaudio.com d&b audiotechnik AG, Eugen-Adolff-Str. 134, 71522 Backnang, Germany Vorsitzender des Aufsichtsrats: Hilmar Schill; Vorstand: Frank Bothe, Markus Strohmeier Finanzen: Kay Lange, Marketing: Simon Johnston, Vertrieb: Peter Tongue Sitz: Backnang; Amtsgericht - Registergericht - Stuttgart, HRB 270952
Falk Hamann schrieb:
Hi Clemens,
I guess I've seen a nice way to discover all broken binaries? (ldd over all binaries, grepping for 'not found' ... or better ideas?) Hmm... didn't find anything in the FAQs.
prt-utils: revdep - check package linkage
Check also: RD_VERBOSE=2 revdep
Ah, thanks! That's what I'm looking for :-) Several ports out of opt are broken over here. I'll rebuild them... Regards, Clemens Koller __________________________________ R&D Imaging Devices Anagramm GmbH Rupert-Mayer-Straße 45/1 Linhof Werksgelände D-81379 München Tel.089-741518-50 Fax 089-741518-19 http://www.anagramm-technology.com
El Mié 21 Nov 2007, Falk Hamann escribió:
Hi Clemens,
I guess I've seen a nice way to discover all broken binaries? (ldd over all binaries, grepping for 'not found' ... or better ideas?) Hmm... didn't find anything in the FAQs.
prt-utils: revdep - check package linkage
Check also: RD_VERBOSE=2 revdep
I've been using a little perl script I coded. I like it better because its not CRUX specific (you can use it in other distributions, Slowlaris, etc), and I think its faster too. If you want to give it a try, it works like this: ldd /usr/bin/* /usr/lib/*.so [...] | ldmiss.pl -- Alan Mizrahi
participants (3)
-
Alan Mizrahi
-
Clemens Koller
-
Falk Hamann