This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 965914 - "/usr/bin/fcitx4-config" of fcitx-libs are preventing install fcitx-libs.i686 with fcitx-libs.x86_64
"/usr/bin/fcitx4-config" of fcitx-libs are preventing install fcitx-libs.i686...
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: fcitx (Show other bugs)
18
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Robin Lee
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-05-21 22:38 EDT by Gris Ge
Modified: 2013-07-01 20:35 EDT (History)
6 users (show)

See Also:
Fixed In Version: fcitx-4.2.7-6.fc18
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-07-01 20:35:06 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
This patch will fix this multilib issue (700 bytes, patch)
2013-05-22 01:27 EDT, Parag Nemade
no flags Details | Diff

  None (edit)
Description Gris Ge 2013-05-21 22:38:41 EDT
Description of problem:
When trying to install fcitx-gtk2.i686 (with x86_64 rpm installed also), it failed with these errors:
===
Transaction Check Error:
  file /usr/bin/fcitx4-config from install of fcitx-libs-4.2.7-1.fc18.i686 conflicts with file from package fcitx-libs-4.2.7-1.fc18.x86_64

Error Summary
===

Version-Release number of selected component (if applicable):
fcitx-libs-4.2.7-1.fc18

How reproducible:
100%

Steps to Reproduce:
1. yum install -y fcitx-libs.i686 fcitx-libs.x86_64
2.
3.

Actual results:
yum failed with conflicting file.

Expected results:
i686 rpm could installed aside with x86_64

Additional info:
/usr/bin/fcitx4-config is just shell script, try store it in fcitx rpm or new rpm.
Comment 1 Parag Nemade 2013-05-22 01:27:18 EDT
Created attachment 751500 [details]
This patch will fix this multilib issue
Comment 2 Robin Lee 2013-05-28 05:23:59 EDT
(In reply to Parag from comment #1)
> Created attachment 751500 [details]
> This patch will fix this multilib issue

This patch may be too Fedora-specific and not upstreamable. And then people would not be possible to this script for cross-building.

How about just moving "fcitx4-config" to the fcitx-devel sub-package? This makes fcitx-libs not conflict between i686 and x86_64.
Comment 3 Fedora Update System 2013-06-19 04:55:09 EDT
fcitx-4.2.7-4.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/fcitx-4.2.7-4.fc18
Comment 4 Parag Nemade 2013-06-19 11:54:57 EDT
As expected from not applying multilib patch,

Transaction check error:
  file /usr/bin/fcitx4-config conflicts between attempted installs of fcitx-devel-4.2.7-4.fc19.x86_64 and fcitx-devel-4.2.7-4.fc19.i686
Comment 5 Robin Lee 2013-06-19 22:31:30 EDT
(In reply to Parag from comment #4)
> As expected from not applying multilib patch,
> 
> Transaction check error:
>   file /usr/bin/fcitx4-config conflicts between attempted installs of
> fcitx-devel-4.2.7-4.fc19.x86_64 and fcitx-devel-4.2.7-4.fc19.i686

It is more common that -devel packages conflict between multiarch. And we cannot break cross-compiling when people build i686 program on x86_64 host.
Comment 6 Fedora Update System 2013-06-19 22:32:42 EDT
Package fcitx-4.2.7-4.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing fcitx-4.2.7-4.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-11293/fcitx-4.2.7-4.fc18
then log in and leave karma (feedback).
Comment 7 Dan Horák 2013-06-20 02:59:39 EDT
(In reply to Robin Lee from comment #5)
> (In reply to Parag from comment #4)
> > As expected from not applying multilib patch,
> > 
> > Transaction check error:
> >   file /usr/bin/fcitx4-config conflicts between attempted installs of
> > fcitx-devel-4.2.7-4.fc19.x86_64 and fcitx-devel-4.2.7-4.fc19.i686
> 
> It is more common that -devel packages conflict between multiarch. And we
> cannot break cross-compiling when people build i686 program on x86_64 host.

devel (and lib) packages must be multilib safe, without any file conflicts
Comment 8 Robin Lee 2013-06-20 05:58:15 EDT
(In reply to Dan Horák from comment #7)
> (In reply to Robin Lee from comment #5)
> > (In reply to Parag from comment #4)
> > > As expected from not applying multilib patch,
> > > 
> > > Transaction check error:
> > >   file /usr/bin/fcitx4-config conflicts between attempted installs of
> > > fcitx-devel-4.2.7-4.fc19.x86_64 and fcitx-devel-4.2.7-4.fc19.i686
> > 
> > It is more common that -devel packages conflict between multiarch. And we
> > cannot break cross-compiling when people build i686 program on x86_64 host.
> 
> devel (and lib) packages must be multilib safe, without any file conflicts

Any guideline for this 'must'?
Comment 9 Dan Horák 2013-06-20 06:13:40 EDT
http://fedoraproject.org/wiki/Packaging:Conflicts
http://fedoraproject.org/wiki/PackagingDrafts/MultilibTricks
http://fedoraproject.org/wiki/Packaging:Guidelines#Multilib_Exempt_Locations

It's a natural feature of multilib system that the devel packages don't conflict, the goal is to have both 32 and 64 bit packages installed. You can find many examples in the existing packages that solve this problem with modified foo-config script, a wrapper over 32/64 bit headers etc.
Comment 10 Robin Lee 2013-06-20 07:03:40 EDT
The point is the approach of modified fcitx4-config is not that sane for me. Though it may just work, but it won't provide accurate result when people want to build i686 program on x86_64 host.
Comment 11 Dan Horák 2013-06-20 07:13:45 EDT
(In reply to Robin Lee from comment #10)
> The point is the approach of modified fcitx4-config is not that sane for me.
> Though it may just work, but it won't provide accurate result when people
> want to build i686 program on x86_64 host.

I don't think it's a big issue, because anybody should use mock to build for other arch to get sane results.
Comment 12 Robin Lee 2013-06-20 22:39:52 EDT
(In reply to Dan Horák from comment #11)
> (In reply to Robin Lee from comment #10)
> > The point is the approach of modified fcitx4-config is not that sane for me.
> > Though it may just work, but it won't provide accurate result when people
> > want to build i686 program on x86_64 host.
> 
> I don't think it's a big issue, because anybody should use mock to build for
> other arch to get sane results.

That is also the reason that conflicting -devel packages is not a bit deal.

Cross-building is the unique usage for i686 -devel packages to be ever installed on x86_64 machine. I may not try to get parallel-installability but break cross-building.
Comment 13 Parag Nemade 2013-06-20 23:40:08 EDT
Fedora has taken some initiative to fix such conflicting -devel packages some years ago. See https://bugzilla.redhat.com/192658. Its still valid not to have conflicting -devel packages.
Comment 14 Fedora Update System 2013-06-21 03:58:23 EDT
fcitx-4.2.7-6.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/fcitx-4.2.7-6.fc18
Comment 15 Fedora Update System 2013-07-01 20:35:06 EDT
fcitx-4.2.7-6.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.

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