make check question and dynamic linker location

Steve Ellcey sellcey@mips.com
Fri Aug 30 17:59:00 GMT 2013


I have a question about running the glibc testsuite.  According to the Wiki
one can run the tests with 'make check' in the build directory, but when I 
do that I get errors and I notice that the failure is in a link with
'-Wl,-dynamic-linker=/usr/fake/lib/ld.so.1'.  Now /usr/fake is the prefix I
give to configure when building glibc but I have not installed glibc there and
when I do install it I am going to override that location with install_root=,
and other options.

Is this a known limitation in testing, that ld.so.1 needs to be installed,
or is it a Makefile/testsuite bug that the link is looking in the wrong place.

The other thing that looks odd to me is that the link that fails appears to
be building libc.so.  Given that I did a successful build already and now just
want to run the tests, why would 'make check' be building libc.so?

End of 'make check' log file:

mipsisa32r2el-linux-gnu-gcc  -mabi=32   -nostdlib -nostartfiles -r -o /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/libc_pic.os \
	 -Wl,-d -Wl,--whole-archive /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/libc_pic.a -o /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/libc_pic.os
mipsisa32r2el-linux-gnu-gcc  -mabi=32   -shared -static-libgcc -Wl,-O1  -Wl,-z,defs -Wl,-dynamic-linker=/usr/fake/lib/ld.so.1  -B/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/csu/  -Wl,--version-script=/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/libc.map -Wl,-soname=libc.so.6 -Wl,-z,relro -nostdlib -nostartfiles -e __libc_main -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/math -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/elf -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/dlfcn -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/nss -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/nis -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/rt -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/resolv -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/crypt -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/nptl -Wl,-rpath-link=/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/math:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/elf:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/dlfcn:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/nss:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/nis:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/rt:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/resolv:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/crypt:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/nptl -o /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/libc.so -T /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/shlib.lds /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/csu/abi-note.o /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/elf/soinit.os /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/libc_pic.os /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/elf/sofini.os /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/elf/interp.os /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/elf/ld.so -lgcc
make[2]: Circular /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/linkobj/libc.so <- /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/linkobj/libc.so dependency dropped.
mipsisa32r2el-linux-gnu-gcc  -mabi=32   -shared -static-libgcc -Wl,-O1  -Wl,-z,defs -Wl,-dynamic-linker=/usr/fake/lib/ld.so.1  -B/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/csu/  -Wl,--version-script=/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/libc.map -Wl,-soname=libc.so.6 -Wl,-z,relro -nostdlib -nostartfiles -e __libc_main -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/math -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/elf -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/dlfcn -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/nss -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/nis -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/rt -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/resolv -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/crypt -L/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/nptl -Wl,-rpath-link=/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/math:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/elf:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/dlfcn:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/nss:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/nis:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/rt:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/resolv:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/crypt:/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/nptl -o /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/linkobj/libc.so -T /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/shlib.lds /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/csu/abi-note.o -Wl,--whole-archive /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/linkobj/libc_pic.a -Wl,--no-whole-archive /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/elf/interp.os -lgcc -Wl,--start-group /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/libc.so /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/libc_nonshared.a -Wl,--as-needed /home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/elf/ld.so -Wl,--no-as-needed -Wl,--end-group
/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/linkobj/libc_pic.a(init-first.os): In function `_init':
/home/sellcey/gcc/memset/src/glibc/csu/init-first.c:100: undefined reference to `__libc_global_ctors'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/sellcey/gcc/memset/obj-mipsisa32r2el-linux-gnu/glibc/obj_default/linkobj/libc.so] Error 1
make[2]: Leaving directory `/home/sellcey/gcc/memset/src/glibc/locale'
make[1]: *** [locale/tests] Error 2
make[1]: Leaving directory `/home/sellcey/gcc/memset/src/glibc'
make: *** [check] Error 2



More information about the Libc-help mailing list