Bug 13538 - Conflict between 32bit and 64bit development libraries
Summary: Conflict between 32bit and 64bit development libraries
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL: https://forums.mageia.org/en/viewtopi...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-18 01:50 CEST by John
Modified: 2014-11-29 18:02 CET (History)
2 users (show)

See Also:
Source RPM:
CVE:
Status comment:


Attachments

Description John 2014-06-18 01:50:27 CEST
Description of problem:
I have 65-bit system which has Qt 5 installed. I'm building an RPM which is based upon Qt 5. While attempting to build the 32-bit package I get the following message when install the 32-bit Qt 5 package:

There was a problem during the installation:

file /usr/bin/icu-config from install of libicu-devel-1:52.1-2.mga4.i586 conflicts with file from package lib64icu-devel-1:52.1-2.mga4.x86_64

Reproducible: 

Steps to Reproduce:
Comment 1 David Walser 2014-06-18 14:39:08 CEST
Installing both 32- and 64-bit devel packages is generally not supported.  Probably your best bet is using a chroot (possibly using a tool like iurt) or a VM to do the 32-bit build.

Status: NEW => RESOLVED
Resolution: (none) => INVALID

Comment 2 John 2014-06-28 17:24:32 CEST
This was possible in previous releases. I would ask that this be looked at again, please.

Status: RESOLVED => REOPENED
Resolution: INVALID => (none)

Comment 3 John 2014-06-28 17:30:36 CEST
       I couldn't find where to edit my previous comment, but here's more detail.

A line like: rpmbuild -ba --clean --sign --target=i586
Will give an error: /var/tmp/rpm-tmp.bRw1TV: line 47: /usr/lib/qt5/bin/qmake: No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.bRw1TV (%prep)
    Bad exit status from /var/tmp/rpm-tmp.bRw1TV (%prep)

This was possible in previous releases and is possible in other distributions like Fedora.
Comment 4 Rémi Verschelde 2014-09-17 14:54:01 CEST
This is not specific to Qt5. The issue here is that both libicu-devel and lib64icu-devel provide the /usr/bin/icu-config file. I think somehow devel libs handle conflicts in /usr/include properly (since it's possible to install both archs along each other most of the time), but maybe not /usr/bin?

CC: (none) => remi
Summary: Unable to install Qt5 32-bit and 64-bit systems on the same machine => Conflict between 32bit and 64bit development libraries

Comment 5 Christiaan Welvaart 2014-11-26 13:19:47 CET
The icu problem should be fixed in cauldron with icu-53.1-7 . I'm not sure if we can issue an mga4 update.

This has to do with a feature that AFAIK is unique in Mandrivalinux and derivatives. There it is designated "multiarch" which is of course a generic term easily confused with other systems like debian's multiarch. 

With mandriva/mageia multiarch, binaries and header files that are different between 32-bit and 64-bit devel packages can be dispatched to the correct versions at runtime. The package maintainer must add appropriate %multiarch_binaries and/or %multiarch_includes in the %install section of the spec file and adjust the files list.

Since probably not all packagers know and/or care about this feature, there are likely more issues like this one. Its wiki page may indicate how popular the feature is: https://wiki.mageia.org/en/Multiarch_policy

CC: (none) => cjw

Comment 6 David Walser 2014-11-29 18:02:32 CET
Which is a nice way of saying that while it may be technically possible, it's not officially supported.  Thanks for the fix Christiaan.

Status: REOPENED => RESOLVED
Version: 4 => Cauldron
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.