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]

Re: test-installation.pl problem


>>>>> A Hung writes:

A> Hi,
A> I'm installing glibc 2.1.3 as the main library on a minimal system
A> (minimal, as in only what is necessary to get things to compile).

A> GNU binutils 2.10
A> GNU diffutils 2.7
A> GNU fileutils 4.0
A> GNU GCC 2.95.2 (C, C++ only)
A> GNU make 3.79
A> GNU bash 2.04
A> GNU texinfo 4.0
A> GNU gettext 0.10.35
A> Old libc5.4.44 libraries (from Slakware 3.5)
A> Perl 5

A> - this is my procedure: (in /usr/local/src/glibc-build)
A> * Changes all "full-config-sysdirs" references to "full_config_sysdirs"
A> for bash 2.04 POSIX compliance.
A> * ../glibc-2.1.3/configure --enable-add-ons --prefix=/usr
A> * make
A> * make check
A> * moved all the old include files and libraries
A> * make install

A> No problems (with the exception of an ignored segfault in the posix
A> directory, but I understand this is an unresolved issue) until make
A> install, which runs fine until it runs test-installation.pl. At first, I
A> got the compile error, but that was covered in the FAQ, so I renamed
A> _G_Config.h. For the command

A> CC="gcc" /usr/bin/perl scripts/test-installation.pl
A> /usr/local/src/glibc-build/

A> I get the error

A> "Execution of test program failed at scripts/test-installation.pl line
A> 196."

A> which would be the following lines:

---> system ("/tmp/test-prg$$") == 0
---> or die ("Execution of test program failed");

A> As you can see, the test program compiles fine (the compilation command is 

---> gcc /tmp/test-prg9378.c  -lpthread -lpthread -lm -lc -ldl -lutil
A> -lresolv -lnss_files -lnss_dns -lnss_db -lnss_compat -lnss_nis
A> -lnss_nisplus -lnss_hesiod -lnsl -ldb -lcrypt -lBrokenLocale -lrt -o
A> /tmp/test-prg9378 2>&1 |

A> ). The output to the ldd is as follows: (ldd /tmp/test-prg9378 |)

A> 	libpthread.so.0 => /lib/libpthread.so.0 (0x40009000)
A> 	libm.so.6 => /lib/libm.so.6 (0x4001c000)
A> 	libc.so.6 => /lib/libc.so.6 (0x40039000)
A> 	libdl.so.2 => /lib/libdl.so.2 (0x4011a000)
A> 	libutil.so.1 => /lib/libutil.so.1 (0x4011e000)
A> 	libresolv.so.2 => /lib/libresolv.so.2 (0x40121000)
A> 	libnss_files.so.2 => /lib/libnss_files.so.2 (0x40130000)
A> 	libnss_dns.so.2 => /lib/libnss_dns.so.2 (0x40139000)
A> 	libnss_db.so.2 => /lib/libnss_db.so.2 (0x4013d000)
A> 	libnss_compat.so.2 => /lib/libnss_compat.so.2 (0x40143000)
A> 	libnss_nis.so.2 => /lib/libnss_nis.so.2 (0x4014f000)
A> 	libnss_nisplus.so.2 => /lib/libnss_nisplus.so.2 (0x40159000)
A> 	libnss_hesiod.so.2 => /lib/libnss_hesiod.so.2 (0x40164000)
A> 	libnsl.so.1 => /lib/libnsl.so.1 (0x40169000)
A> 	libdb.so.3 => /lib/libdb.so.3 (0x40180000)
A> 	libcrypt.so.1 => /lib/libcrypt.so.1 (0x401bd000)
A> 	libBrokenLocale.so.1 => /lib/libBrokenLocale.so.1 (0x401ea000)
A> 	librt.so.1 => /lib/librt.so.1 (0x401ec000)
A> 	ld-linux.so.2 => /lib/ld-linux.so.2 (0x401f0000)

A> If I run the program myself (/tmp/test-prg9378), it segfaults ("make
A> install" says make[1]: *** [install] Error 29).

A> This confounds the heck out of me, because I don't understand how

A> #include <stdio.h>
A> #include <stdlib.h>
A> int main(void) {
A>   printf ("Your new glibc installation seems to be ok.\n");
A>   exit (0);
A> }

A> Could possibly segfault. I tried removing the printf statement, and it
A> still segfaults. So, correct me if I'm wrong, but wouldn't this indicate a
A> problem with either stdio or stdlib? Anybody have any ideas on how to
A> correct this?

The libraries have initialization functions which might get called.
The program is linked against each and every lib!  It could be a bug
in the dynamic linker or in one of these initialization functions.
Debug with LD_DEBUG set in the environment (LD_DEBUG=help ls gives
options).

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de

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