Bug#632176: libc6: Needs to conflict with lib64* packages on amd64
Package: libc6 Version: 2.13-7 Severity: important User: vor...@debian.org Usertags: multiarch On multiarch-enabled i386 systems, installing libc6:amd64 together with lib64foo:i386 has some interesting effects. To reproduce, set up an i386 chroot with a dpkg from the pu/multiarch/full branch of git://git.debian.org/users/hertzog/dpkg.git, enable amd64 as a foreign architecture (echo foreign-architecture amd64 /etc/dpkg/dpkg.cfg), and run apt-get update. Then # apt-get install libc6:amd64 # apt-get install lib64ncurses5 # bash You get an error message: bash: error while loading shared libraries: libncurses.so.5: wrong ELF class: ELFCLASS64. The effects of installing libc6:amd64 _after_ lib64ncurses5 will also be interesting, since /lib64 does not get converted to a symlink in that case, AFAICS. -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (101, 'experimental') Architecture: i386 (x86_64) Kernel: Linux 3.0.0-rc5-nouveau (SMP w/2 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/877h83r8dp@turtle.gmx.de
Bug#632176: libc6: Needs to conflict with lib64* packages on amd64
Hi Sven, Sven Joachim wrote: On multiarch-enabled i386 systems, installing libc6:amd64 together with lib64foo:i386 has some interesting effects. [...] # apt-get install libc6:amd64 # apt-get install lib64ncurses5 # bash You get an error message: bash: error while loading shared libraries: libncurses.so.5: wrong ELF class: ELFCLASS64. Weird and scary. Any idea why this happens? The effects of installing libc6:amd64 _after_ lib64ncurses5 will also be interesting, since /lib64 does not get converted to a symlink in that case, AFAICS. I hope installing libc6:amd64 before does not change /lib64 into a symlink, either (maybe that is what is happening here). Multiarch is not meant to break existing biarch programs. Thanks for reporting, Jonathan -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110630163649.GA17882@elie
Bug#632176: libc6: Needs to conflict with lib64* packages on amd64
On 2011-06-30 18:36 +0200, Jonathan Nieder wrote: Sven Joachim wrote: On multiarch-enabled i386 systems, installing libc6:amd64 together with lib64foo:i386 has some interesting effects. [...] # apt-get install libc6:amd64 # apt-get install lib64ncurses5 # bash You get an error message: bash: error while loading shared libraries: libncurses.so.5: wrong ELF class: ELFCLASS64. Weird and scary. Any idea why this happens? I can even explain exactly why. :-) Because I had no /lib64 directory before, installing libc6:amd64 created the /lib64 - /lib symlink, and then installing lib64ncurses5 created /lib64/libncurses.so.5, overwriting the existing /lib/libncurses.so.5 from libncurses5 through the symlink. This is a file conflict that dpkg does not notice. The effects of installing libc6:amd64 _after_ lib64ncurses5 will also be interesting, since /lib64 does not get converted to a symlink in that case, AFAICS. I hope installing libc6:amd64 before does not change /lib64 into a symlink, either (maybe that is what is happening here). If /lib64 already exists, it will not be converted. This means that removing libc6-amd64 will instantly break all 64-bit programs, because /lib64/ld-linux-x86-64.so.2 is gone and you are left with /lib/ld-linux-x86-64.so.2 which is in the wrong directory. :-/ Cheers, Sven -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87sjqrp7se@turtle.gmx.de