Your message dated Wed, 27 Apr 2011 11:24:32 +0200 with message-id <1303896272.6044.20.camel@scarafaggio> and subject line Re: Bug#623584: initramfs-tools create a wrong directory tree has caused the Debian Bug report #623584, regarding grub error: "libm.so.6: cannot open shared object file: No such file or directory" to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 623584: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=623584 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: initramfs-tools Version: 0.98.8 Severity: important Hi all, I am trying to setup a 64 bit machine with Debian squeeze. After the installation complete (this is a special crafted installation with mixed 32bit and 64bit executables) the machine cannot boot anymore. The bootloader is grub-pc. It starts, then load kernel and initrd, uncompress initrd and tries to run the shell. This is where it fails giving the error "libm.so.6: cannot open shared object file: No such file or directory". I booted via a cdrom (debian 6.0 live rescue amd64), mounted all volumes in /mnt (and subdirs) and chroot'ed into it. Then, I went to /boot and uncompress the initrd image. This is what I can see: root@debian:/boot/f# ls -l total 36 drwxr-xr-x 2 root root 4096 Apr 21 15:07 bin drwxr-xr-x 3 root root 4096 Apr 21 14:28 conf drwxr-xr-x 5 root root 4096 Apr 21 14:28 etc -rwxr-xr-x 1 root root 5955 Apr 21 14:28 init drwxr-xr-x 4 root root 4096 Apr 21 14:28 lib drwxr-xr-x 2 root root 4096 Apr 21 14:28 lib64 drwxr-xr-x 2 root root 4096 Apr 21 14:28 sbin drwxr-xr-x 6 root root 4096 Apr 21 14:28 scripts root@debian:/boot/f# ldd bin/sh linux-vdso.so.1 => (0x00007ffff936d000) libm.so.6 => /lib64/libm.so.6 (0x00007f0146f8b000) libc.so.6 => /lib64/libc.so.6 (0x00007f0146c2a000) /lib64/ld-linux-x86-64.so.2 (0x00007f0147213000) root@debian:/boot/f# ls -l /lib64/libm.so.6 /lib64/libc.so.6 /lib64/ld-linux-x86-64.so.2 lrwxrwxrwx 1 root root 12 Apr 19 18:57 /lib64/ld-linux-x86-64.so.2 -> ld-2.11.2.so lrwxrwxrwx 1 root root 14 Apr 19 18:57 /lib64/libc.so.6 -> libc-2.11.2.so lrwxrwxrwx 1 root root 14 Apr 19 18:57 /lib64/libm.so.6 -> libm-2.11.2.so root@debian:/boot/f# ls -l lib64/libm.so.6 lib64/libc.so.6 lib64/ld-linux-x86-64.so.2 -rwxr-xr-x 1 root root 128744 Apr 21 14:28 lib64/ld-linux-x86-64.so.2 -rwxr-xr-x 1 root root 1432968 Apr 21 14:28 lib64/libc.so.6 -rw-r--r-- 1 root root 530736 Apr 21 14:28 lib64/libm.so.6 root@debian:/boot/f# bin/sh BusyBox v1.17.1 (Debian 1:1.17.1-8) built-in shell (ash) Enter 'help' for a list of built-in commands. /boot/f # exit root@debian:/boot/f# chroot . bin/sh bin/sh: error while loading shared libraries: libm.so.6: cannot open shared object file: No such file or directory root@debian:/boot/f# chroot . lib64/ld-linux-x86-64.so.2 bin/sh bin/sh: error while loading shared libraries: libm.so.6: cannot open shared object file: No such file or directory root@debian:/boot/f# file bin/sh lib64/libm.so.6 bin/sh: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), stripped lib64/libm.so.6: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped root@debian:/boot/f# diff /lib64/libc-2.11.2.so lib64/libc.so.6 root@debian:/boot/f# diff /lib64/libm-2.11.2.so lib64/libm.so.6 As you may see all program work correctly. I may even run busybox on the main system, but if I try to run it inside the initramfs image then it fails. I tried to create the initrd image from scratch but it does not solve the problem. The command I used is: root@debian:/boot/f# update-initramfs -k all -u update-initramfs: Generating /boot/initrd.img-2.6.32-5-amd64 W: Possible missing firmware /lib/firmware/tigon/tg3_tso5.bin for module tg3 W: Possible missing firmware /lib/firmware/tigon/tg3_tso.bin for module tg3 W: Possible missing firmware /lib/firmware/tigon/tg3.bin for module tg3 Any hints on what to do next? I thank you very much, Giuseppe
--- End Message ---
--- Begin Message ---Hi Ben, thanks for helping on this bug report. On ven, 2011-04-22 at 15:35 +0100, Ben Hutchings wrote: > On Fri, 2011-04-22 at 09:36 +0200, Giuseppe Sacco wrote: > > Hi, > > I made a few tests on this report and I found that the loader is not > > looking at the right directories. Please have a look at this: > [...] > > Please note that on both system (outside of chroot) /lib64 is a link > > to /lib. > > I think that's normal; however /lib should be higher up the library > search path than /lib64. > > What does 'ldd /bin/sh' say in the running system? root@debian:/# ls -l /bin/sh /bin/busybox -rwxr-xr-x 1 root root 516440 15 nov 16.22 /bin/busybox lrwxrwxrwx 1 root root 4 19 apr 18.58 /bin/sh -> dash root@debian:/# ldd /bin/busybox linux-vdso.so.1 => (0x00007fffbb92a000) libm.so.6 => /lib64/libm.so.6 (0x00007f1f1a81c000) libc.so.6 => /lib64/libc.so.6 (0x00007f1f1a4bb000) /lib64/ld-linux-x86-64.so.2 (0x00007f1f1aaa4000) root@debian:/# ldd /bin/dash linux-vdso.so.1 => (0x00007fff028dd000) libc.so.6 => /lib64/libc.so.6 (0x00007f121dc5c000) /lib64/ld-linux-x86-64.so.2 (0x00007f121dfc3000) but this was the real problem. When I saw this, I run ldconfig manually, and now ldd works as expected (and initramfs-tools also): root@debian:/etc/ld.so.conf.d# ldd /bin/busybox linux-vdso.so.1 => (0x00007fff663ff000) libm.so.6 => /lib/libm.so.6 (0x00007f71bfebc000) libc.so.6 => /lib/libc.so.6 (0x00007f71bfb5b000) /lib64/ld-linux-x86-64.so.2 (0x00007f71c0143000) Bye, Giuseppe
--- End Message ---

