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:
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 => RESOLVEDResolution: (none) => INVALID
This was possible in previous releases. I would ask that this be looked at again, please.
Status: RESOLVED => REOPENEDResolution: INVALID => (none)
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.
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) => remiSummary: Unable to install Qt5 32-bit and 64-bit systems on the same machine => Conflict between 32bit and 64bit development libraries
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
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 => RESOLVEDVersion: 4 => CauldronResolution: (none) => FIXED