Re: Problem with dynamic linker from libc6_2.6.1-1_powerpc.deb
Yes, permissions are wrong because of my makefiles which build the image to
the target system. changing the permissions however did not fix the
problem...
I executed strace /lib/ld-2.6.1.so /lib/libc-2.6.1.so and got again the
following output:
/# strace /lib/ld-2.6.1.so /lib/libc-2.6.1.so
execve("/lib/ld-2.6.1.so", ["/lib/ld-2.6.1.so", "/lib/libc-2.6.1.so"], [/*
11 vars */]) = 0
brk(0) = 0x8030000
open("/lib/libc-2.6.1.so", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\1\346"...,
512) = 512
close(3) = 0
writev(2, [{"/lib/libc-2.6.1.so", 18}, {": ", 2}, {"error while loading
shared libra"..., 36}, {": ", 2}, {"/lib/li
bc-2.6.1.so", 18}, {": ", 2}, {"cannot open shared object file", 30}, {":
", 2}, {"No such file or directory", 25},
{"\n", 1}], 10/lib/libc-2.6.1.so: error while loading shared libraries:
/lib/libc-2.6.1.so: cannot open shared obj
ect file: No such file or directory
) = 136
exit_group(127) = ?
Process 303 detached
now the directory looks like this:
/# ls -la /lib/
drwxrwxrwx 3 0 0 2048 Jan 1 00:00 .
drwxrwxrwx 17 0 0 1024 Jan 1 00:00 ..
-rwxr-xr-x 1 0 0 129612 Jan 1 00:00 ld-2.6.1.so
lrwxrwxrwx 1 0 0 11 Jan 1 00:00 ld.so.1 ->
ld-2.6.1.so
-rw-r--r-- 1 0 0 5492 Jan 1 00:00
libBrokenLocale-2.6.1.so
lrwxrwxrwx 1 0 0 24 Jan 1 00:00
libBrokenLocale.so.1 -> libBrokenLocale-2.6.1.so
-rw-r--r-- 1 0 0 17796 Jan 1 00:00 libSegFault.so
-rw-r--r-- 1 0 0 13904 Jan 1 00:00 libanl-2.6.1.so
lrwxrwxrwx 1 0 0 15 Jan 1 00:00 libanl.so.1 ->
libanl-2.6.1.so
-rwxr-xr-x 1 0 0 1413588 Jan 1 00:00 libc-2.6.1.so
lrwxrwxrwx 1 0 0 13 Jan 1 00:00 libc.so.6 ->
libc-2.6.1.so
-rw-r--r-- 1 0 0 185876 Jan 1 00:00 libcidn-2.6.1.so
lrwxrwxrwx 1 0 0 16 Jan 1 00:00 libcidn.so.1 ->
libcidn-2.6.1.so
-rw-r--r-- 1 0 0 21916 Jan 1 00:00 libcrypt-2.6.1.so
lrwxrwxrwx 1 0 0 17 Jan 1 00:00 libcrypt.so.1 ->
libcrypt-2.6.1.so
-rw-r--r-- 1 0 0 13832 Jan 1 00:00 libdl-2.6.1.so
lrwxrwxrwx 1 0 0 14 Jan 1 00:00 libdl.so.2 ->
libdl-2.6.1.so
lrwxrwxrwx 1 0 0 13 Jan 1 00:00 libgcc_s.so ->
libgcc_s.so.1
-rw-r--r-- 1 0 0 369861 Jan 1 00:00 libgcc_s.so.1
-rw-r--r-- 1 0 0 682292 Jan 1 00:00 libm-2.6.1.so
lrwxrwxrwx 1 0 0 13 Jan 1 00:00 libm.so.6 ->
libm-2.6.1.so
-rw-r--r-- 1 0 0 25980 Jan 1 00:00 libmemusage.so
-rw-r--r-- 1 0 0 96060 Jan 1 00:00 libnsl-2.6.1.so
lrwxrwxrwx 1 0 0 15 Jan 1 00:00 libnsl.so.1 ->
libnsl-2.6.1.so
-rw-r--r-- 1 0 0 34520 Jan 1 00:00
libnss_compat-2.6.1.so
lrwxrwxrwx 1 0 0 22 Jan 1 00:00 libnss_compat.so.2
-> libnss_compat-2.6.1.so
-rw-r--r-- 1 0 0 17940 Jan 1 00:00 libnss_dns-2.6.1.so
lrwxrwxrwx 1 0 0 19 Jan 1 00:00 libnss_dns.so.2 ->
libnss_dns-2.6.1.so
-rw-r--r-- 1 0 0 46616 Jan 1 00:00
libnss_files-2.6.1.so
lrwxrwxrwx 1 0 0 21 Jan 1 00:00 libnss_files.so.2
-> libnss_files-2.6.1.so
-rw-r--r-- 1 0 0 21996 Jan 1 00:00
libnss_hesiod-2.6.1.so
lrwxrwxrwx 1 0 0 22 Jan 1 00:00 libnss_hesiod.so.2
-> libnss_hesiod-2.6.1.so
-rw-r--r-- 1 0 0 46748 Jan 1 00:00 libnss_nis-2.6.1.so
lrwxrwxrwx 1 0 0 19 Jan 1 00:00 libnss_nis.so.2 ->
libnss_nis-2.6.1.so
-rw-r--r-- 1 0 0 54956 Jan 1 00:00
libnss_nisplus-2.6.1.so
lrwxrwxrwx 1 0 0 23 Jan 1 00:00
libnss_nisplus.so.2 -> libnss_nisplus-2.6.1.so
-rw-r--r-- 1 0 0 13632 Jan 1 00:00 libpcprofile.so
-rw-r--r-- 1 0 0 124981 Jan 1 00:00 libpthread-2.6.1.so
lrwxrwxrwx 1 0 0 19 Jan 1 00:00 libpthread.so.0 ->
libpthread-2.6.1.so
-rw-r--r-- 1 0 0 71488 Jan 1 00:00 libresolv-2.6.1.so
lrwxrwxrwx 1 0 0 18 Jan 1 00:00 libresolv.so.2 ->
libresolv-2.6.1.so
-rw-r--r-- 1 0 0 34788 Jan 1 00:00 librt-2.6.1.so
lrwxrwxrwx 1 0 0 14 Jan 1 00:00 librt.so.1 ->
librt-2.6.1.so
-rw-r--r-- 1 0 0 30428 Jan 1 00:00 libthread_db-1.0.so
lrwxrwxrwx 1 0 0 19 Jan 1 00:00 libthread_db.so.1
-> libthread_db-1.0.so
-rw-r--r-- 1 0 0 9704 Jan 1 00:00 libutil-2.6.1.so
lrwxrwxrwx 1 0 0 16 Jan 1 00:00 libutil.so.1 ->
libutil-2.6.1.so
drwxrwxrwx 3 0 0 1024 Jan 1 00:00 modules
I tried same thing with x86 libc6 2.6.1 on an x86 target.
Now I just placed the libraries from libc6-dbg_2.6.1-1+b1_i386.deb
to my target system instead of old libraries. The rest of the system
remains untouched. Here the dynamic loader has also problems with
accepting the libc.so.6:
/# strace /lib/ld-2.6.1.so /lib/libc-2.6.1.so
execve("/lib/ld-2.6.1.so", ["/lib/ld-2.6.1.so", "/lib/libc-2.6.1.so"], [/*
12 vars */]) = 0
brk(0) = 0x8001e000
open("/lib/libc-2.6.1.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260a\1"..., 512)
= 512
close(3) = 0
writev(2, [{"/lib/libc-2.6.1.so", 18}, {": ", 2}, {"error while loading
shared libra"..., 36}, {": ", 2}, {"/lib/li
bc-2.6.1.so", 18}, {": ", 2}, {"cannot open shared object file", 30}, {":
", 2}, {"No such file or directory", 25},
{"\n", 1}], 10/lib/libc-2.6.1.so: error while loading shared libraries:
/lib/libc-2.6.1.so: cannot open shared obj
ect file: No such file or directory
) = 136
exit_group(127) = ?
Process 387 detached
So the problem seems to be not powerpc specific. Is the /lib/libc-2.6.1.so
itself dependent
of something not present in libc6-dbg_2.6.1-1+b1_i386.deb? Or is there any
other reason
why ld-2.6.1.so should reject the libc-2.6.1.so?
Lauri
On Fri, 30 Nov 2007 15:09:21 +0200, Aurelien Jarno <aurelien@aurel32.net>
wrote:
The permissions on those file looks highly suspicious, I would advise
you to reinstall the package properly.
Reply to: