Monday, February 13, 2012

Java Plugin for Firefox 10

Today marked yet another upgrade in Firefox, from version 10.0 to 10.0.1.  Whether it was this upgrade or the previous one I cannot be sure, but I discovered (the hard way) that one of them broke the use of Java applets on my office PC.  Specifically, the Java plugin (which I use infrequently, but which had worked a while back) was simply gone.

Well, the plugin itself (which comes from the portion of Oracle that once was Sun) couldn't be gone -- Firefox can't delete chunks of my JRE.  Only the link to it was gone.  There is a handy Synaptic meta-package (sun-java6-plugin) in one of the Ubuntu repositories, intended (I think) to make the connection between plugin and browser.  I reinstalled it, to no avail. I'll skip the full litany of web search results (many out of date) and failed attempts, and cut to the chase scene.  Besides having a recent Oracle/Sun Java JRE installed (and, of course, Firefox), you need to do something to tell Firefox where to find the Java browser plugin.  The rest of this is specific to Linux; Windows and Mac users will have a somewhat different task.
  1. You need to find a Firefox plugins directory, in which to place a symbolic link to the plugin.  There are multiple choices, and more than one of them may be suitable. Some documents refer to a plugins folder under ~/.mozilla (although I suspect this now should be ~/.mozilla/firefox/<your configuration>).  I didn't have such a folder, so I created one (although I ended up not using it). Another possibility is /usr/lib/firefox/plugins. I'm not sure if that one is scanned, or if it's just vestigial from some earlier version. I ended up using /usr/lib/firefox-10.0.1/plugins ... which I may regret if I have to go through this again with the next upgrade.
  2. You need to find the right plugin file. This is where I wasted most of my time. Older documentation refers to libjavaplugin_oji.so, which I found in /usr/lib/jvm/java-6-sun/jre/plugin/i386/ns7. It's in a folder named "plugin", so it must be the right file, mustn't it? Oops, no. It turns out there's a "next generation" plugin named libnpjp2.so, and apparently FF 10 will only recognize the new plugin. Oracle's installation docs refer to it, but I could not find it in the plugin directory. That's because it's not in the plugin directory. I guess they thought that would be too obvious. It's in /usr/lib/jvm/java-6-sun/jre/lib/i386.
  3. Once the targets are in sight, shut down Firefox, go to the directory you selected in step 1 (in a terminal), delete any symlinks to older plugins, then  execute sudo ln -s /usr/lib/jvm/java-6-sun/jre/lib/i386libnpjp2.so, adjusting the path as needed if your JVM is installed elsewhere. (The sudo is unnecessary if you chose a folder in your home partition in step 1.) Restart Firefox and check the plugins tab (or enter about:plugins in the URL bar) and make sure Firefox acknowledges the plugin.
Update: I just checked my home PC (same configuration as the office PC, other than being 64 bit rather than 32 bit). There's no problem with the Java plugin at home. So perhaps I was wrong in blaming a FF update at the office for zapping the connection to the plugin ... but if not an update, then what?

6 comments:

  1. Yes, thanks Paul. I appreciated this too.
    Is your ob listed here? http://en.wikipedia.org/wiki/OB

    ReplyDelete
  2. Yes, it's about midway down the list: https://en.wikipedia.org/wiki/Organizational_behaviour.

    ReplyDelete
  3. Thanks man, you saved Firefox another rant. :)

    ReplyDelete
  4. Do you know any programs in BASIC or C for Liner Programming ?

    ReplyDelete
    Replies
    1. BASIC: no. (Quit using that 30+ years ago.)
      C: I know there are LP codes, but I haven't seen a list of them in years. If you're willing to tackle C++, there are a number of choices. You might look at CLP (http://www.coin-or.org/projects/Clp.xml) to start.

      Delete

Due to intermittent spamming, comments are being moderated. If this is your first time commenting on the blog, please read the Ground Rules for Comments. In particular, if you want to ask an operations research-related question not relevant to this post, consider asking it on Operations Research Stack Exchange.