After I got the new Opera 9.0 beta 2, which is great, the mplayerplug-in stopped working. I searched everywhere, but didn't find a solution...
I was going crazy with this! Then I found a post in the Gentoo forum, and I managed to make it work! I hope that this can save you a lot of trouble.
Ok, this is how it goes:
1. Download Gecko-sdk 1.6, unpack it, and put it somewhere.
Code:
cd $HOME
wget ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.6/gecko-sdk-i686-pc-linux-gnu-1.6.tar.gz
tar xvzf gecko-sdk-i686-pc-linux-gnu-1.6.tar.gz
sudo mv gecko-sdk /usr/local/gecko-sdk1.6
2. Get mplayerplug-in v2.80 from sourceforge (I tried other versions, but they did't work... maybe I did something wrong, but v2.80 works great, so why complicate? )
3. Go to the folder where you saved mplayerplug-in-2.80.tar.gz and do:
Code:
tar xvzf mplayerplug-in-2.80.tar.gz
cd mplayerplug-in/plugingate/
gedit np_entry.cpp
On lines 108 and 109 you have
Code:
if(aNPNFuncs->size < sizeof(NPNetscapeFuncs))
return NPERR_INVALID_FUNCTABLE_ERROR;
comment it out:
Code:
//if(aNPNFuncs->size < sizeof(NPNetscapeFuncs))
// return NPERR_INVALID_FUNCTABLE_ERROR;
save and exit gedit.
4. It's time to compile. Let's go up one dir, so that we're on "somedir"/mplayerplug-in/
Code:
cd ..
./configure --enable-x --with-gecko-sdk=/usr/local/gecko-sdk1.6
If all went fine, now it's time to build it.
Copy mplayerplug-in.so to Opera's plugin dir:
(don't forget to remove any other mplayerplug-in you have there)
Code:
sudo rm -i /usr/lib/opera/plugins/mplayerplug-in*
cp -v mplayerplug-in.so /usr/lib/opera/plugins/
5. If you start Opera now, it will complain about some libraries, and the plug-in will fail. Let's take care of it, using gecko-sdk1.6's libs
Edit: This works for me even in 6.06 without any kind of trouble, but some people are complaining that making these symbolic links brakes Firefox.
Try to use mplayerplug-in without making the symbolic links bellow, and if you do make them at least take note
of where the original symlinks (if any) point. (for example do, ls -l /usr/lib/libplds4.so and write it down somewhere)
Code:
cd /usr/lib/
sudo ln -svf /usr/local/gecko-sdk1.6/nspr/bin/libplds4.so .
sudo ln -svf /usr/local/gecko-sdk1.6/nspr/bin/libnspr4.so .
sudo ln -svf /usr/local/gecko-sdk1.6/xpcom/bin/libxpcom.so .
6. Now it should work but to be on the safe side, let's enable the debuging
options.
Code:
sudo gedit /usr/bin/opera
Add this lines after #!/bin/bash
Code:
# Debug plugins
export OPERA_PLUGINWRAPPER_DEBUG=10
export OPERA_KEEP_BLOCKED_PLUGIN=1
Save it and close gedit.
7. Now, start opera with the -debugplugin option
Remove any additional paths from opera's plug-in path, or you may be using two confilcting versions of mplayerplug-in. Go to
Tools->Preferences->Advanced->Content->Plug-in Options
All I have in my plug-in path is this line:
Code:
/usr/lib/opera/plugins:/usr/lib/realplay-10.0.6.776/plugins:/usr/lib/realplay-10.0.6.776
since I install all the opera plug-ins to /usr/lib/opera/plugins/
Restart Opera the same way we did before and try to open a video. This one works for me, and hopefully for you too.
http://www.apple.com/trailers/fox/ic...iumteaser.html
8. Now you can remove the debug options in opera's wrapper
Code:
sudo gedit /usr/bin/opera
Add a # before the lines we added
Code:
# Debug plugins
#export OPERA_PLUGINWRAPPER_DEBUG=10
#export OPERA_KEEP_BLOCKED_PLUGIN=1
Save it and close gedit.
This post is based on this gentoo forum post:
http://forums.gentoo.org/viewtopic.php?p=3297093
My thanks to Sloden, the author of the Gentoo post.
P.S.: I'm attaching the mplayer plug-in that I compiled (on breezy). This way, If you're having trouble "rolling our own", you can use mine and (with some luck) skip steps 2-4. Don't forget to do gunzip mplayerplug-in.so.gz
I tried to document all the steps, for those who need it. For those who don't, sorry if this was too boring to read.
Bookmarks