This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

soname vs. glibc-2.1.92/scripts/test-installation.pl


	I have not studied the code involved enough to be sure, but
I think that glibc-2.1.92/scripts/test-installation.pl does not
work with libraries that have a soname different from their file names.
I stumbled across this problem when test-installation.pl attempted
to link a test program with -ldb and looked for libdb.so in the
output of ldd'ing that program.  The problem was that libdb.so was
built as libdb-3.1.so, and libdb.so was just a symlink, so it
presumably was built with the soname libdb-3.1.so (I am not quite
sure how to extract this from a .so, but turns up when I run strings
on the library).

	For the moment, I have kludged our local test-installation.pl
with the patch below.  I think the correction solution is for
test-installation.pl to scan ldd's output for the soname's of the
libraries rather than the names actually specified with "-l".

Adam J. Richter     __     ______________   4880 Stevens Creek Blvd, Suite 104
adam@yggdrasil.com     \ /                  San Jose, California 95129-1034
+1 408 261-6630         | g g d r a s i l   United States of America
fax +1 408 261-6631      "Free Software For The Rest Of Us."

----------------------------CUT HERE-----------------------------------

I include this kludge for illustration.  It is not the fix that I
would recommend.

Index: lib/glibc/scripts/test-installation.pl
===================================================================
RCS file: /usr/src.repository/repository/lib/glibc/scripts/test-installation.pl,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 test-installation.pl
--- lib/glibc/scripts/test-installation.pl	2000/07/11 22:41:25	1.1.1.1
+++ lib/glibc/scripts/test-installation.pl	2000/08/25 07:10:35
@@ -161,6 +161,9 @@
     ($name, $version1, $version2) =
       /^\s*lib(\w*)\.so\.([0-9\.]*)\s*=>.*\.so\.([0-9\.]*)/;
     $found{$name} = 1;
+    if ($name =~ 'db-3.1') {
+	$found{'db'} = 1;
+    }
     if ($versions{$name} ne $version1 || $version1 ne $version2) {
       print "Library lib$name is not correctly installed.\n";
       print "Please check your installation!\n";


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]