This is the mail archive of the glibc-linux@ricardo.ecn.wfu.edu 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]

test-installation.pl problem


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


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