Package: fam
Severity: critical
Justification: can break other packages (e.g. /usr/lib/libkdeprint.so.4
 from kdelibs4c2)

Hi,

There seems to be an upgrade path bug in libfam at the moment linked
to the C++ transition.  A summary is this:

Old version: libfam0 (pre c102 transition)
 -> Newer version: libfam0c102 which Provides: libfam0
 -> Newest version (gcc4 transition) libfam0 which Conflicts: libfam0c102

Unfortunately, this means that if you start with a sarge chroot,
install the sarge version of kdelibs, then do an
apt-get install -t sid kdelibs, apt doesn't need to upgrade libfam as
there seems to be no shlibs requirements and libfam0c102 Provides
libfam0.  Hence, you end up with (for example) libkdeprint linked
directly against libstdc++6 and indirectly (through fam) against
libstdc++5.

I'm not sure if the right solution here is for the package to be
renamed libfam0c2 (probably if it had been done this way originally)
or if it makes more sense for the maintainer to add an shlibs file
to make sure that packages can be rebuilt and know that they need
an up-to-date version of libfam when installed.

Hope this bug report and log is useful.  Please let me know if there's
anything wrong with it or you need moreinfo.

Cheers,

Mark


Here is the log of a pbuilder session, starting from sarge:


[EMAIL PROTECTED] ~/deb/packages/working/kst-1.1.0 $ sudo pbuilder login
Building the build Environment
 -> extracting base tarball [/var/cache/pbuilder/base.tgz]
 -> creating local configuration
 -> copying local configuration
 -> mounting /proc filesystem
 -> mounting /dev/pts filesystem
 -> policy-rc.d already exists
 -> entering the shell
File extracted to: /var/cache/pbuilder/build//20589

[Add sarge, etch, sid to sources.list]

[Add APT::Default-Archive "stable"; to apt.conf]

[EMAIL PROTECTED]:/# apt-get install kdelibs
Reading Package Lists... Done
Building Dependency Tree... Done

The following extra packages will be installed:

<snip>

0 upgraded, 94 newly installed, 0 to remove and 0 not upgraded.
Need to get 43.0MB of archives.
After unpacking 134MB of additional disk space will be used.
Do you want to continue? [Y/n] y

<snip>

[EMAIL PROTECTED]:/# dpkg -L libfam0c102

<snip>

/usr/lib/libfam.so.0.0.0
/usr/lib/libfam.so.0

[EMAIL PROTECTED]:/# ldd /usr/lib/libfam.so.0
    libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb7f38000)
    libm.so.6 => /lib/tls/libm.so.6 (0xb7f16000)
    libc.so.6 => /lib/tls/libc.so.6 (0xb7de0000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7dd7000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
[EMAIL PROTECTED]:/# apt-get install -t sid kdelibs
Reading Package Lists... Done
Building Dependency Tree... Done

The following extra packages will be installed:
  gcc-4.0-base kdelibs-bin kdelibs-data kdelibs4c2 libarts1c2 libartsc0 
libasound2 libc6 libc6-dev libgcc1 libidn11
  libjack0.100.0-0 libkrb53 libopenexr2c2 libqt3-mt libstdc++6 libxinerama1 
libxml2 libxrender1 libxslt1.1
Suggested packages:
  libasound2-plugins locales glibc-doc manpages-dev krb5-doc krb5-user 
libqt3-mt-psql libqt3-mt-mysql libqt3-mt-odbc
Recommended packages:
  perl-suid akode jackd xml-core
The following packages will be REMOVED:
  kdelibs4 libarts1 libopenexr2 libqt3c102-mt
The following NEW packages will be installed:
  gcc-4.0-base kdelibs4c2 libarts1c2 libjack0.100.0-0 libkrb53 libopenexr2c2 
libqt3-mt libstdc++6 libxinerama1
The following packages will be upgraded:
  kdelibs kdelibs-bin kdelibs-data libartsc0 libasound2 libc6 libc6-dev libgcc1 
libidn11 libxml2 libxrender1 libxslt1.1
12 upgraded, 9 newly installed, 4 to remove and 111 not upgraded.
Need to get 31.7MB of archives.
After unpacking 9093kB of additional disk space will be used.
Do you want to continue? [Y/n] y

<snip>

Setting up kdelibs (3.4.2-1) ...
[EMAIL PROTECTED]:/# ldd /usr/lib/libkdeprint.so.4 | grep stdc++
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7df8000)
    libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb73be000)
[EMAIL PROTECTED]:/# dpkg -L libfam0
Package `libfam0' is not installed.

Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
[EMAIL PROTECTED]:/# dpkg -L libfam0c102

<snip>

/usr/lib/libfam.so.0.0.0
/usr/lib/libfam.so.0

[EMAIL PROTECTED]:/# ldd /usr/lib/libfam.so.0 | grep stdc++
    libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb7f38000)


-- 
Mark Hymers <[EMAIL PROTECTED]>

"'I regret nothing?'  That's not a song, that's an idiots charter."
     Andy Hamilton, Old Harry's Game

Attachment: signature.asc
Description: Digital signature

Reply via email to