Re: /lib32 -> emul/ia32-linux/lib ?
Philipp Matthias Hahn <firstname.lastname@example.org> writes:
> I'm running "Debian sid" on "x86_64" and tried to build a "google-earth"
> package today, which failed with
> dpkg-shlibdeps: error: no dependency information found for /emul/ia32-linux/lib/libm.so.6 (used by ../usr/lib/googleearth/liblayer.so).
> After some investigation into bi-arch and multi-arch I discovered that I
> have the following directory structure:
> /lib32 -> emul/ia32-linux/lib
> /lib64 -> lib
> /usr/lib64 -> lib
> Looking at "/var/lib/dpkg/info/libc6-i386.preinst" I found the following
> fishy line:
> if [ "$(readlink /lib32)" = "/emul/ia32-linux/lib" ]; then
> ^ notice that my symlink does not
> have the leading slash!
> rm /lib32
> Since I don't remeber ever creating that symlink myself and also found
> no definite answer to my question on how a "right" directory layout
> should look like, I'd like to ask first before filing a possible bug on
> "libc6-i386" because of that to restrictive test.
> Philipp Hahn
The expected layout in squeeze/sid is (at least it is here)
/lib64 -> /lib
/usr/lib64 -> lib
I don't understand why your links are different but libc6-i386 should
really cope with that. So go ahead and file a bug.
As for fixing it you need to remove the link and reinstall every
package that has files in /lib32. Then check if any package has files
left in /emul/ia32-linux/ and update/remove them before removing what
remains of /emul/ia32-linux/.