PDA

View Full Version : Cross-architecture package installation


Abacus Avenger
17th November 2010, 02:46 AM
I'm running Fedora 13 x86_64.

I ran into a problem with a package recently (cairo, specifically), which required me to build new RPMs from a source RPM in order to have a locally fixed version. I'm just going to use these locally built RPMs while I wait for upstream to fix the problem (a bug report's already filed).

I've run into problems though, when I install i686 packages which depend on cairo. If my x86_64 cairo wasn't locally patched, there wouldn't be an issue, because the cairo versions for i686 and x86_64 would match, and the installation would proceed normally. The versioning throws the installation process off, though:

Transaction Check Error:
package cairo-1.10.0-3.fc14.x86_64 (which is newer than cairo-1.10.0-2.fc14.i686) is already installed
file /usr/share/doc/cairo-1.10.0/AUTHORS from install of cairo-1.10.0-2.fc14.i686 conflicts with file from package cairo-1.10.0-3.fc14.x86_64
file /usr/share/doc/cairo-1.10.0/COPYING from install of cairo-1.10.0-2.fc14.i686 conflicts with file from package cairo-1.10.0-3.fc14.x86_64
file /usr/share/doc/cairo-1.10.0/README from install of cairo-1.10.0-2.fc14.i686 conflicts with file from package cairo-1.10.0-3.fc14.x86_64
file /usr/share/doc/cairo-1.10.0/NEWS from install of cairo-1.10.0-2.fc14.i686 conflicts with file from package cairo-1.10.0-3.fc14.x86_64
file /usr/share/doc/cairo-1.10.0/BIBLIOGRAPHY from install of cairo-1.10.0-2.fc14.i686 conflicts with file from package cairo-1.10.0-3.fc14.x86_64
file /usr/share/doc/cairo-1.10.0/BUGS from install of cairo-1.10.0-2.fc14.i686 conflicts with file from package cairo-1.10.0-3.fc14.x86_64
file /usr/share/doc/cairo-1.10.0/COPYING-LGPL-2.1 from install of cairo-1.10.0-2.fc14.i686 conflicts with file from package cairo-1.10.0-3.fc14.x86_64
file /usr/share/doc/cairo-1.10.0/COPYING-MPL-1.1 from install of cairo-1.10.0-2.fc14.i686 conflicts with file from package cairo-1.10.0-3.fc14.x86_64

I have built i686 versions of the patched cairo, but I can't get them to install:

tycho@mjollnir ~/yum/fedora/14/i686 $ sudo yum --nogpgcheck -y install *rpm
Loaded plugins: fastestmirror, langpacks, presto, refresh-packagekit
Adding en_US to language list
Loading mirror speeds from cached hostfile
* fedora: mirror.pnl.gov
* rpmfusion-free: mirrors.tummy.com
* rpmfusion-free-updates: mirrors.tummy.com
* rpmfusion-nonfree: mirrors.tummy.com
* rpmfusion-nonfree-updates: mirrors.tummy.com
* updates: mirror.pnl.gov
Setting up Install Process
Examining cairo-1.10.0-3.fc14.i686.rpm: cairo-1.10.0-3.fc14.i686
Marking cairo-1.10.0-3.fc14.i686.rpm to be installed
Examining cairo-devel-1.10.0-3.fc14.i686.rpm: cairo-devel-1.10.0-3.fc14.i686
Marking cairo-devel-1.10.0-3.fc14.i686.rpm to be installed
Examining cairo-gobject-1.10.0-3.fc14.i686.rpm: cairo-gobject-1.10.0-3.fc14.i686
Marking cairo-gobject-1.10.0-3.fc14.i686.rpm to be installed
Examining cairo-gobject-devel-1.10.0-3.fc14.i686.rpm: cairo-gobject-devel-1.10.0-3.fc14.i686
Marking cairo-gobject-devel-1.10.0-3.fc14.i686.rpm to be installed
Examining cairo-tools-1.10.0-3.fc14.i686.rpm: cairo-tools-1.10.0-3.fc14.i686
Marking cairo-tools-1.10.0-3.fc14.i686.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package cairo.i686 0:1.10.0-3.fc14 set to be installed
--> Processing Dependency: libXrender.so.1 for package: cairo-1.10.0-3.fc14.i686
--> Processing Dependency: libfontconfig.so.1 for package: cairo-1.10.0-3.fc14.i686
--> Processing Dependency: libfreetype.so.6 for package: cairo-1.10.0-3.fc14.i686
--> Processing Dependency: libpixman-1.so.0 for package: cairo-1.10.0-3.fc14.i686
--> Processing Dependency: libpng12.so.0 for package: cairo-1.10.0-3.fc14.i686
--> Processing Dependency: libpng12.so.0(PNG12_0) for package: cairo-1.10.0-3.fc14.i686
---> Package cairo-devel.i686 0:1.10.0-3.fc14 set to be installed
---> Package cairo-gobject.i686 0:1.10.0-3.fc14 set to be installed
---> Package cairo-gobject-devel.i686 0:1.10.0-3.fc14 set to be installed
---> Package cairo-tools.i686 0:1.10.0-3.fc14 set to be installed
--> Running transaction check
---> Package fontconfig.i686 0:2.8.0-2.fc14 set to be installed
--> Processing Dependency: libexpat.so.1 for package: fontconfig-2.8.0-2.fc14.i686
---> Package freetype.i686 0:2.4.2-4.fc14 set to be installed
---> Package libXrender.i686 0:0.9.6-1.fc14 set to be installed
---> Package libpng.i686 2:1.2.44-1.fc14 set to be installed
---> Package pixman.i686 0:0.18.4-1.fc14 set to be installed
--> Running transaction check
---> Package expat.i686 0:2.0.1-10.fc13 set to be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================== ================================================== ================================================== ================================================== ====================================
Package Arch Version Repository Size
================================================== ================================================== ================================================== ================================================== ====================================
Installing:
cairo i686 1.10.0-3.fc14 /cairo-1.10.0-3.fc14.i686 3.6 M
cairo-devel i686 1.10.0-3.fc14 /cairo-devel-1.10.0-3.fc14.i686 3.4 M
cairo-gobject i686 1.10.0-3.fc14 /cairo-gobject-1.10.0-3.fc14.i686 51 k
cairo-gobject-devel i686 1.10.0-3.fc14 /cairo-gobject-devel-1.10.0-3.fc14.i686 6.3 k
cairo-tools i686 1.10.0-3.fc14 /cairo-tools-1.10.0-3.fc14.i686 226 k
Installing for dependencies:
expat i686 2.0.1-10.fc13 fedora 78 k
fontconfig i686 2.8.0-2.fc14 fedora 186 k
freetype i686 2.4.2-4.fc14 updates 350 k
libXrender i686 0.9.6-1.fc14 fedora 28 k
libpng i686 2:1.2.44-1.fc14 fedora 183 k
pixman i686 0.18.4-1.fc14 fedora 155 k

Transaction Summary
================================================== ================================================== ================================================== ================================================== ====================================
Install 11 Package(s)

Total size: 8.2 M
Installed size: 9.7 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test


Transaction Check Error:
file /usr/bin/cairo-trace from install of cairo-tools-1.10.0-3.fc14.i686 conflicts with file from package cairo-tools-1.10.0-3.fc14.x86_64

Error Summary
-------------

tycho@mjollnir ~/yum/fedora/14/i686 $

I'm sure there's something I'm missing here. Yum would normally install these just fine if they came directly from the Fedora repo (because it wouldn't install /usr/bin/cairo-trace), so I'm not sure what I'm doing wrong here.

I assume that Yum behaves differently when it's instructed to install i686 packages on an x86_64 machine (skip things which would install to /usr/bin, etc), but it seems to not recognize that these packages are i686 and not x86_64.

What am I doing wrong, here?