agapito
May 31st, 2006, 10:31 PM
After I got the new Opera 9.0 beta 2 (http://www.opera.com/download/index.dml?ver=9.0b), which is great, the mplayerplug-in stopped working.:-k 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! \\:D/ I hope that this can save you a lot of trouble.
Ok, this is how it goes:
1. Download Gecko-sdk 1.6 (http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.6/gecko-sdk-i686-pc-linux-gnu-1.6.tar.gz), unpack it, and put it somewhere.
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 (http://prdownloads.sourceforge.net/mplayerplug-in/mplayerplug-in-2.80.tar.gz) 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:
tar xvzf mplayerplug-in-2.80.tar.gz
cd mplayerplug-in/plugingate/
gedit np_entry.cpp
On lines 108 and 109 you have
if(aNPNFuncs->size < sizeof(NPNetscapeFuncs))
return NPERR_INVALID_FUNCTABLE_ERROR;
comment it out:
//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/
cd ..
./configure --enable-x --with-gecko-sdk=/usr/local/gecko-sdk1.6
If all went fine, now it's time to build it.
make
Copy mplayerplug-in.so to Opera's plugin dir:
(don't forget to remove any other mplayerplug-in you have there)
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)
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.
sudo gedit /usr/bin/opera
Add this lines after #!/bin/bash
# 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
opera -debugplugin
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:
/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/ice_age_2/mediumteaser.html :D
8. Now you can remove the debug options in opera's wrapper
sudo gedit /usr/bin/opera
Add a # before the lines we added
# 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.
I was going crazy with this! ](*,) Then I found a post in the Gentoo forum, and I managed to make it work! \\:D/ I hope that this can save you a lot of trouble.
Ok, this is how it goes:
1. Download Gecko-sdk 1.6 (http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.6/gecko-sdk-i686-pc-linux-gnu-1.6.tar.gz), unpack it, and put it somewhere.
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 (http://prdownloads.sourceforge.net/mplayerplug-in/mplayerplug-in-2.80.tar.gz) 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:
tar xvzf mplayerplug-in-2.80.tar.gz
cd mplayerplug-in/plugingate/
gedit np_entry.cpp
On lines 108 and 109 you have
if(aNPNFuncs->size < sizeof(NPNetscapeFuncs))
return NPERR_INVALID_FUNCTABLE_ERROR;
comment it out:
//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/
cd ..
./configure --enable-x --with-gecko-sdk=/usr/local/gecko-sdk1.6
If all went fine, now it's time to build it.
make
Copy mplayerplug-in.so to Opera's plugin dir:
(don't forget to remove any other mplayerplug-in you have there)
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)
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.
sudo gedit /usr/bin/opera
Add this lines after #!/bin/bash
# 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
opera -debugplugin
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:
/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/ice_age_2/mediumteaser.html :D
8. Now you can remove the debug options in opera's wrapper
sudo gedit /usr/bin/opera
Add a # before the lines we added
# 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.