Bug#632176: libc6: Needs to conflict with lib64* packages on amd64

2011-06-30 Thread Sven Joachim
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

2011-06-30 Thread Jonathan Nieder
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

2011-06-30 Thread Sven Joachim
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