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!
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.
> 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.
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.
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).
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.
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).
FWIW, this affects Fedora 7 and 8 equally. I haven't tried F9.