Getting Flash to work on my upgraded 64-bit Fedora 13 machine
(This could be subtitled 'the problem with upgrades instead of reinstalls'.)
I recently upgraded my office workstation from Fedora 11 straight to Fedora 13 (with a yum upgrade). Just like the last time I upgraded my Fedora install, 64-bit Flash promptly broke. I have since fixed that, but as it turns out I can't tell you exactly what the solution was.
(Like most people using 64-bit Fedora, I run Flash via nspluginwrapper's 64-bit to 32-bit bridge instead of as a native plugin. One of the interesting effects of using Flash this way is that it runs in a second process, outside the browser, which means that I've always had the kind of crash isolation that is only now coming into general use with browsers like Google Chrome and Firefox 4.)
This time around I was smarter than last time and immediately tried a
number of things. Of course, first I tried the fix from last time, but it didn't work; this time I had another
issue instead. As a short term workaround I installed a 32-bit Firefox
3.6.8 from mozilla.org into my own $HOME
and switched to using it,
which worked acceptably well (and Flash worked fine).
Using a spare virtual machine, I also discovered that Flash worked fine on a stock 64-bit Fedora 13 machine. A comparison of the package list between my normal machine and the virtual image showed that the stock install had a number of extra packages installed, so as an experiment in brute force I installed all of them on my workstation. To my surprise, 64-bit Flash promptly started working.
(Since 32-bit Flash was working, this is almost certainly some sort of hidden dependency that nspluginwrapper has. RPM tries to catch this sort of stuff, but its heuristics can only go so far, and it would be quite hard to catch this sort of issue in ordinary testing. Since I have finite time and low energy, I have not attempted to do all sorts of isolation tests to work out just what the dependency is. Frankly I am just as happy that I didn't have to work out how nspluginwrapper works.)
In case anyone else is in this situation, here are two resources:
- for people who may not have virtual machines and a bunch of bandwidth
handy,
f13-stock-rpms.txt
is a list of the all of the RPMs (currently) installed on my
64-bit Fedora 13 virtual machine image. Note that this includes
the Adobe Flash RPM et al, which I installed following
these directions.
For convenience and future-proofing, I have listed only the name and architecture (ie,
rpm --qf '%{N}.%{ARCH}\n' -qa
). Because of thesort
locale braindamage, you may need to re-sort
this before using it yourself. - for the sufficiently curious,
f13-rpms-added.txt
is the exact set of RPMs that I fed to '
yum install
' on my upgraded F13 machine and that made Flash work. Keenly energetic people are invited to remove these RPMs one by one from their Fedora 13 system until nspluginwrapper breaks.
(Some of the RPMs are pretty clearly not relevant, for example all of the firmware ones.)
One of the lessons I take away from this is that I may want to do this sort of installed RPM resynchronization after every future Fedora upgrade that I do, just as a matter of course. While I always knew that an upgrade (and especially a yum upgrade) is not quite equivalent to reinstalling from scratch, I had previously been assuming that the differences were small and unimportant. Clearly this is sometimes false.
(This means that I should spin up a 32-bit Fedora 13 virtual machine, since my 32-bit laptop has also been upgraded from Fedora version to Fedora version instead of reinstalled from scratch. It's probably missing packages too, although I haven't noticed any problems yet.)
|
|