[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#636686: partial upgrade from squeeze to wheezy fails



On Fri, Aug 26, 2011 at 04:05:56PM -0500, Jonathan Nieder wrote:

> As for the case at hand: the more I think about it, the less the
> Breaks by libc6 makes sense.  In the motivating example Bug#629670,
> as far as I can tell it is libc6-dev that broke perl:
> 
> 	Note (probably harmless): No library found for -lpthread
> 
> Of course that problem isn't libc6-dev-specific --- any development
> library installed to /usr/lib/$arch instead of /usr/lib could trigger
> the same problem.  It is possible (except on armhf and i386) to use
> libc/squeeze with gcc/wheezy as a multiarch development environment
> and completely avoid that Breaks.
> 
> So maybe the Breaks should be from gcc, if from anywhere.  Niko,
> what do you think?

Sorry about the late reply. I'm OK with reverting the libc6 Breaks,
given the problems it's causing.

The most significant perl breakage here IMO is indeed specific to
libc6-dev: embedding perl itself.

I suppose this could be prevented by making libc6-dev Break just
libperl-dev, which would hopefully avoid any trouble inside the base
system.

However, it's true that any development library in /usr/lib/$arch causes
the same problem for Perl modules looking for it when perl itself isn't
upgraded yet. See #638785 for a recent example of this. Breaking just
libperl-dev will not prevent this.

The core issue is that perl embeds the gcc search path statically at
build time, and the embedded search path in the squeeze version became
outdated due to gcc changes.  So I think it would make sense for gcc*
to Break perl.

I have currently no idea which one(s) of gcc-* should declare the Breaks
and if this varies with the architecture. It would be great if somebody
could look into that, I'm really short on time myself.
-- 
Niko Tyni   ntyni@debian.org



Reply to: