Getting Flash to work on my upgraded 64-bit Fedora 13 machine

August 19, 2010

(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 the sort 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.)

Written on 19 August 2010.
« Please, no automatic scrolling to the next item
A clever blog anti-usability trick »

Page tools: View Source, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Thu Aug 19 00:46:00 2010
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.