[Mageia-dev] cairo and poppler conflicts
pterjan at gmail.com
Sat Apr 2 14:08:11 CEST 2011
On Sat, Apr 2, 2011 at 12:50, Pascal Terjan <pterjan at gmail.com> wrote:
> On Sat, Apr 2, 2011 at 08:57, Remy CLOUARD <shikamaru at mandriva.org> wrote:
>> On Wed, Mar 30, 2011 at 05:45:34PM +0200, Olivier Blin wrote:
>>> Frank Griffin <ftg at roadrunner.com> writes:
>>> > On 03/29/2011 03:01 PM, Ahmad Samir wrote:
>>> >> [...]
>>> >> “attach”...
>>> >> Anyway, from the log:
>>> >> auto-select: adding lib64cairo-xcb2-1.10.2-4.mga1.x86_64 replacing
>>> >> lib64cairo-xcb2-1.10.2-3.mga1.x86_64
>>> >> which means you have lib64cairo-xcb2 installed (rpm -qa lib64cairo*
>>> >> should confirm/deny); this is not the default, urpmi is set to prefer
>>> >> lib(64)cairo2 over lib(64)cairo-xcb2, so I think, 'urpmi lib64cairo2'
>>> >> should fix this issue.
>>> > You're correct, but I'm damned if I know why. I have two cauldron
>>> > systems which get updated via --auto-update exclusively. On one, I
>>> > have
>>> > Thanks for the assist, and sorry for the noise.
>>> There might have been a bug for a short time where pkgconfig(cairo) got
>>> resolved to cairo-xcb-devel, so it is possible the wrong package got
>>> pulled at some point.
>>> It should not be the case anymore (with a fix in urpmi
>>> prefer.vendor.list), but it won't be fixed automatically for cauldron
>>> users that got the "wrong" package before.
>> Yep, sorry for that, I was unaware of that pkgconfig(cairo) provides.
>> But f-spot’s case has been bugging me for quite some time.
>> I don’t use it so I could not see the issue, but I don’t understand why
>> it does have an explicit require on lib64cairo2…
>> all its dependencies don’t.
>> Here are the requires of f-spot :
>> mono(FlickrNet)[== 126.96.36.199]
>> mono(Gnome.Keyring)[== 188.8.131.52]
>> mono(ICSharpCode.SharpZipLib)[== 184.108.40.206]
>> mono(Mono.Addins)[== 0.6.0.0]
>> mono(Mono.Addins.Gui)[== 0.6.0.0]
>> mono(Mono.Addins.Setup)[== 0.6.0.0]
>> mono(Mono.Cairo)[== 220.127.116.11]
>> mono(Mono.Posix)[== 18.104.22.168]
>> mono(Mono.Simd)[== 22.214.171.124]
>> mono(NDesk.DBus)[== 126.96.36.199]
>> mono(System)[== 188.8.131.52]
>> mono(System.Core)[== 184.108.40.206]
>> mono(System.Web)[== 220.127.116.11]
>> mono(System.Xml)[== 18.104.22.168]
>> mono(atk-sharp)[== 22.214.171.124]
>> mono(gconf-sharp)[== 126.96.36.199]
>> mono(gdk-sharp)[== 188.8.131.52]
>> mono(glib-sharp)[== 184.108.40.206]
>> mono(gnome-sharp)[== 220.127.116.11]
>> mono(gtk-sharp)[== 18.104.22.168]
>> mono(mscorlib)[== 22.214.171.124]
>> mono(pango-sharp)[== 126.96.36.199]
>> As you can see, lib64cairo2 is completely unnecessary because the
>> package already requires libcairo.so.2()(64bit).
>> Looking at the spec:
>> I don’t understand line 43 to 45 though I’m not sure these are the one
>> that pulls cairo, nor do I understand which problem Götz tried to work
> I think this is unrelated
> All the lib64* requires are added automatically by something
The code in mono-find-requires included in rpm-devel (from 2005, while
mono-devel provides /usr/bin/mono-find-requires from 2008) contains a
part to get the package name (and add "()(64bit)" on 64 bits...). I
don't understand the comment.
# Note about above:
# Use to do: system("rpm -q --whatprovides --queryformat
# rpmlint prefers to have lib names instead of package names. There
was a reason I was using package names but it slips me now...
# Ah... now I remember... it's for noarch packs. The noarch packages
can be built on either 32 or 64 bit... so we have to depend
# on the package name instead.
More information about the Mageia-dev