Bug 214100 - No longer possible to install firefox.i386 on an x86-64 system
No longer possible to install firefox.i386 on an x86-64 system
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: firefox (Show other bugs)
6
x86_64 Linux
medium Severity high
: ---
: ---
Assigned To: Christopher Aillon
: Reopened
Depends On:
Blocks: 216399
  Show dependency treegraph
 
Reported: 2006-11-05 13:55 EST by H. Peter Anvin
Modified: 2008-06-13 02:43 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-11-06 01:11:47 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
firefox.sh.in.patch (1.24 KB, patch)
2006-11-05 21:55 EST, Warren Togami
no flags Details | Diff
/etc/sysconfig/firefox-arch sample (341 bytes, application/octet-stream)
2006-11-05 21:56 EST, Warren Togami
no flags Details

  None (edit)
Description H. Peter Anvin 2006-11-05 13:55:30 EST
A large number of plugins are not available for firefox.x86_64.  This is the
fundamental problem, of course.

Up to and including FC5, it was possible to work around this by uninstalling
firefox.x86_64 and installing firefox.i386.  This would work fine, except that
it would often crash while printing.

However, this is no longer possible in FC6.  As the appended yum log shows,
firefox.x86_64 has too many dependencies on it, and cannot be removed. 
/usr/bin/firefox will *ALWAYS* run the 64-bit version if one is installed.

This leaves the user to hack a script *every time* firefox needs to be updated.

At the very least, please make it possible for the user to override the choice
this script makes. 

---

Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for firefox to pack into transaction set.
firefox-1.5.0.7-8.fc6.i38 100% |=========================|  89 kB    00:00
---> Package firefox.i386 0:1.5.0.7-8.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: libxpcom.so()(64bit) for package: epiphany
--> Processing Dependency: libxpcom.so()(64bit) for package:
gnome-python2-gtkmozembed
--> Processing Dependency: libmozjs.so()(64bit) for package: firefox-devel
--> Processing Dependency: libxpcom.so()(64bit) for package: yelp
--> Processing Dependency: libgtkembedmoz.so()(64bit) for package: epiphany
--> Processing Dependency: libxpcom.so()(64bit) for package: libswt3-gtk2
--> Processing Dependency: libxpcom_core.so()(64bit) for package: epiphany
--> Processing Dependency: libxpcom.so()(64bit) for package: devhelp
--> Processing Dependency: libxpcom_core.so()(64bit) for package: yelp
--> Processing Dependency: libgtkembedmoz.so()(64bit) for package: devhelp
--> Processing Dependency: firefox = 1.5.0.7-7.fc6 for package: firefox-devel
--> Processing Dependency: libxpcom.so()(64bit) for package: firefox-devel
--> Processing Dependency: libgtkembedmoz.so()(64bit) for package: yelp
--> Processing Dependency: libgtkembedmoz.so()(64bit) for package:
gnome-python2-gtkmozembed
--> Processing Dependency: libxpcom_core.so()(64bit) for package: firefox-devel
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for firefox to pack into transaction set.
firefox-1.5.0.7-8.fc6.x86 100% |=========================|  91 kB    00:00
---> Package firefox.x86_64 0:1.5.0.7-8.fc6 set to be updated
---> Downloading header for firefox-devel to pack into transaction set.
firefox-devel-1.5.0.7-8.f 100% |=========================| 390 kB    00:00
---> Package firefox-devel.x86_64 0:1.5.0.7-8.fc6 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 firefox                 i386       1.5.0.7-8.fc6    updates-i386       18 M
Updating for dependencies:
 firefox                 x86_64     1.5.0.7-8.fc6    updates            17 M
 firefox-devel           x86_64     1.5.0.7-8.fc6    updates           3.1 M

Transaction Summary
=============================================================================
Install      1 Package(s)
Update       2 Package(s)
Remove       0 Package(s)

Total download size: 38 M
Downloading Packages:
(1/3): firefox-1.5.0.7-8. 100% |=========================|  18 MB    00:00
(2/3): firefox-1.5.0.7-8. 100% |=========================|  17 MB    00:00
(3/3): firefox-devel-1.5. 100% |=========================| 3.1 MB    00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating  : firefox                      ######################### [1/5]
  Installing: firefox                      ######################### [2/5]
  Updating  : firefox-devel                ######################### [3/5]
  Cleanup   : firefox                      ######################### [4/5]
  Cleanup   : firefox-devel                ######################### [5/5]

Installed: firefox.i386 0:1.5.0.7-8.fc6
Dependency Updated: firefox.x86_64 0:1.5.0.7-8.fc6 firefox-devel.x86_64
0:1.5.0.7-8.fc6
Complete!
Comment 1 Christopher Aillon 2006-11-05 16:40:24 EST
By large number of plugins, I presume you mean Flash and Java.  Adobe has said
they are coming out with a flash version for x86-64 and Sun already offers one.
 Vendors are realizing that 64bit matters.

As far as your issue, simply yum remove firefox.x86_64 if you don't want it.  It
will remove the dependencies you cite.  Epiphany is a browser and you don't want
64 bit browsers apparently anyway.  The rest you can install the 32bit version
and have it work fine.  Since the big plugin makers either already do or will be
shipping 64bit versions, this is WONTFIX.
Comment 2 Warren Togami 2006-11-05 21:39:24 EST
> By large number of plugins, I presume you mean Flash and Java.  Adobe has said
> they are coming out with a flash version for x86-64 and Sun already offers one.
> Vendors are realizing that 64bit matters.

Where have they said this?  My sources indicate this is not true.
Comment 3 Warren Togami 2006-11-05 21:55:23 EST
Created attachment 140428 [details]
firefox.sh.in.patch

Patch to firefox.sh.in with the following logic:

* If only the /usr/lib	 browser is installed, run it.
* If only the /usr/lib64 browser is installed, run it.
* If both are installed, run /usr/lib64 unless it is overridden in
/etc/sysconfig/firefox-arch.
* Allow editing /etc/sysconfig/firefox-arch as the official means for the
system administrator to override their arch selection.

%config(noreplace) %{_sysconfdir}/sysconfig/firefox-arch
This is necessary in the %files section of firefox.spec.

Benefits of this approach:
1) This does NOT CHANGE THE BEHAVIOR from its current behavior by default.
2) This defines an explicit way for the system administrator to override their
arch selection in a way that wont break with future package updates.

Thus, this is a perfectly reasonable addition to add to all future Fedora and
RHEL firefox packages.
Comment 4 Warren Togami 2006-11-05 21:56:40 EST
Created attachment 140429 [details]
/etc/sysconfig/firefox-arch sample

This is the sample file to be placed in /etc/sysconfig/firefox-arch marked as
%config(noreplace).
Comment 5 Christopher Aillon 2006-11-06 01:11:47 EST
You know, if someone packaged up nsplugginwrapper, this would be a moot point. 
Champion that instead of trying to make firefox multilib different from
everything else in the distro.
Comment 6 David Woodhouse 2006-11-20 04:01:49 EST
firefox multilib is already different from everything else -- it's broken.

We should ship separate libs, devel and executable subpackages, and the user can
install whichever _executable_ package they like, while the libs and devel can
coexist. It's suboptimal on i386/x86_64, and it's just broken on ppc64 where we
shouldn't be shipping the 64-bit executable package at all (because Java and
RealPlayer plugins are ppc32-only, like most of userspace).
Comment 7 H. Peter Anvin 2008-06-13 02:43:43 EDT
FWIW, this affects Fedora 7 and 8 equally.  I haven't tried F9.

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