This is the mail archive of the
glibc-linux@ricardo.ecn.wfu.edu
mailing list for the glibc project.
test-installation.pl problem
- To: glibc-linux at ricardo dot ecn dot wfu dot edu
- Subject: test-installation.pl problem
- From: A Hung <a2hung at engmail dot uwaterloo dot ca>
- Date: Sun, 16 Jul 2000 23:26:45 -0400 (EDT)
- Reply-To: glibc-linux at ricardo dot ecn dot wfu dot edu
Hi,
I'm installing glibc 2.1.3 as the main library on a minimal system
(minimal, as in only what is necessary to get things to compile).
GNU binutils 2.10
GNU diffutils 2.7
GNU fileutils 4.0
GNU GCC 2.95.2 (C, C++ only)
GNU make 3.79
GNU bash 2.04
GNU texinfo 4.0
GNU gettext 0.10.35
Old libc5.4.44 libraries (from Slakware 3.5)
Perl 5
- this is my procedure: (in /usr/local/src/glibc-build)
* Changes all "full-config-sysdirs" references to "full_config_sysdirs"
for bash 2.04 POSIX compliance.
* ../glibc-2.1.3/configure --enable-add-ons --prefix=/usr
* make
* make check
* moved all the old include files and libraries
* make install
No problems (with the exception of an ignored segfault in the posix
directory, but I understand this is an unresolved issue) until make
install, which runs fine until it runs test-installation.pl. At first, I
got the compile error, but that was covered in the FAQ, so I renamed
_G_Config.h. For the command
CC="gcc" /usr/bin/perl scripts/test-installation.pl
/usr/local/src/glibc-build/
I get the error
"Execution of test program failed at scripts/test-installation.pl line
196."
which would be the following lines:
---> system ("/tmp/test-prg$$") == 0
---> or die ("Execution of test program failed");
As you can see, the test program compiles fine (the compilation command is
---> gcc /tmp/test-prg9378.c -lpthread -lpthread -lm -lc -ldl -lutil
-lresolv -lnss_files -lnss_dns -lnss_db -lnss_compat -lnss_nis
-lnss_nisplus -lnss_hesiod -lnsl -ldb -lcrypt -lBrokenLocale -lrt -o
/tmp/test-prg9378 2>&1 |
). The output to the ldd is as follows: (ldd /tmp/test-prg9378 |)
libpthread.so.0 => /lib/libpthread.so.0 (0x40009000)
libm.so.6 => /lib/libm.so.6 (0x4001c000)
libc.so.6 => /lib/libc.so.6 (0x40039000)
libdl.so.2 => /lib/libdl.so.2 (0x4011a000)
libutil.so.1 => /lib/libutil.so.1 (0x4011e000)
libresolv.so.2 => /lib/libresolv.so.2 (0x40121000)
libnss_files.so.2 => /lib/libnss_files.so.2 (0x40130000)
libnss_dns.so.2 => /lib/libnss_dns.so.2 (0x40139000)
libnss_db.so.2 => /lib/libnss_db.so.2 (0x4013d000)
libnss_compat.so.2 => /lib/libnss_compat.so.2 (0x40143000)
libnss_nis.so.2 => /lib/libnss_nis.so.2 (0x4014f000)
libnss_nisplus.so.2 => /lib/libnss_nisplus.so.2 (0x40159000)
libnss_hesiod.so.2 => /lib/libnss_hesiod.so.2 (0x40164000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40169000)
libdb.so.3 => /lib/libdb.so.3 (0x40180000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x401bd000)
libBrokenLocale.so.1 => /lib/libBrokenLocale.so.1 (0x401ea000)
librt.so.1 => /lib/librt.so.1 (0x401ec000)
ld-linux.so.2 => /lib/ld-linux.so.2 (0x401f0000)
If I run the program myself (/tmp/test-prg9378), it segfaults ("make
install" says make[1]: *** [install] Error 29).
This confounds the heck out of me, because I don't understand how
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf ("Your new glibc installation seems to be ok.\n");
exit (0);
}
Could possibly segfault. I tried removing the printf statement, and it
still segfaults. So, correct me if I'm wrong, but wouldn't this indicate a
problem with either stdio or stdlib? Anybody have any ideas on how to
correct this?
Thanks,
Austin