[pacman-dev] libalpm linked against libarchive/libfetch deps (was: SyncFirst and dependencies)

Lukas Fleischer archlinux at cryptocrack.de
Fri Mar 18 10:18:42 EDT 2011


On Fri, Mar 18, 2011 at 02:02:06PM +0100, Lukas Fleischer wrote:
> On Fri, Mar 18, 2011 at 01:10:01PM +0100, Xavier Chantry wrote:
> > On Fri, Mar 18, 2011 at 12:55 PM, Lukas Fleischer
> > <archlinux at cryptocrack.de> wrote:
> > > Hi,
> > >
> > > I'm not really sure if this actually is a bug or intended behaviour but
> > > upgrading pacman man my freshly installed system with [testing] enabled
> > > just broke pacman:
> > >
> > > $ pacman
> > > pacman: error while loading shared libraries: liblzma.so.5: cannot open shared object file: No such file or directory
> > >
> > > After some investigation, I figured out that "liblzma.so" is part of
> > > xz-utils which was renamed to "xz" sometime ago. When doing the first
> > > full system upgrade, pacman asked me to upgrade itself, first. As
> > > "SyncFirst" packages seem to be pulled in without dependency resolution,
> > > I ended up in having pacman 3.5.0, but an old xz-utils, resulting in
> > > some broken pacman depending on some shared library of a package that
> > > hasn't been upgraded yet.
> > >
> > > Is that intended? Unfortunately, I'm in a rush and I don't have any time
> > > to analyze this in detail right now...
> > >
> > >
> > 
> > dep resolution is done, but if the deps are not precise enough, it
> > does not help.
> > Another example where sodeps could have been useful :)
> > 
> > As far as I can see, libarchive 2.8.4-2 got a versioned dep on xz >= 5
> > but pacman only depends on libarchive 2.8.0
> 
> Right, ye. I literally only had 10 minutes to figure this out and made
> wrong assumptions, thank your for clearifying. The pacman package in
> [testing] should be fixed anyway - before moving it to [core].
> Otherwise, all fresh installs will break on the first system upgrade.
> 
> Opened a Flyspray ticket [1].

Well, it actually is a bit more than just a wrong dependency. ioni and
me figured that libalpm 6.0.0 is linked against all libfetch and
libarchive dependencies as well whereas 5.0.3 isn't, so there must have
been some changes in the build system causing these trouble. I `git
bisect`'ed the commit that introduced this regression. f489e969 [1]
includes autotools upgrades and probably some more changes which seem to
trigger this. Maybe someone else can have a closer look (I unfortunately
don't have any more time and this is a rather large commit).

I added these information to the related ticket [2] as well.

[1] http://projects.archlinux.org/pacman.git/commit/?id=f489e969
[2] https://bugs.archlinux.org/task/23325


More information about the pacman-dev mailing list