On Tue, 26 Dec 2006, Kevin DeKorte wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> Pomarede Nicolas wrote:
>> using daily snapshot from 26/12/2006, I had some errors when using the
>> mplayer*.so plugins files.
>> I use ./configure -enable-x (yes, sorry, yet another happy opera user :) )
>> and everything compiled fine.
>> But when playing, I got this error :
>> /usr/lib/opera/plugins/operapluginwrapper: symbol lookup error:
>> /usr/lib/opera/plugins/mplayerplug-in-qt.so: undefined symbol: pthread_create
>> doing 'ldd' on mplayerplug-in-qt.so show that libpthread was indeed not
>> Although configure.log gives :
>> MOZPLUG_LIBS='-L/usr/lib/firefox-2.0 -lxpcom -lplds4 -lplc4 -lnspr4 -lpthread -ldl
>> the Makefile doesn't contain any reference to these '-l' flags.
>> I modified the generated Makefile to change this line :
>> LDFLAGS= -lX11 -lSM -lICE -lXext -lX11 -lXpm -lXt
>> to :
>> LDFLAGS= -lX11 -lSM -lICE -lXext -lX11 -lXpm -lXt -L/usr/lib/firefox-2.0 -lxpcom -lplds4 -lplc4 -lnspr4 -lpthread -ldl
>> then make clean + make, and the resulting .so files now load OK in Opera
>> (but I think this problem is not opera related).
>> Could you fix LDFLAGS to include the missing libraries ?
>> Thanks for your work (and please don't drop x-only support too soon)
> Sounds like a problem with your build environment/opera runtime
> environment as all those flags are pulled from pkg-config options. This
> was a patch provided by the debian people to have a looser binding to
> the mozilla libs so that the plugin could load against the browser it
> was running in.
> As you know I don't support running the plugin in opera and really
> encourage people not to do it because of problems like this.
thanks for your answer, perhaps the patch provided by debian is not
compatible with all the distribs out there ? I use mandriva 2007 and the
firefox 2.0 devel rpm. But it's just that it worked before with 3.25.
I have pkg-config configured for firefox-plugin that gives :
pkg-config --libs firefox-plugin.pc
-L/usr/lib/firefox-2.0 -lxpcom -lplds4 -lplc4 -lnspr4 -lpthread -ldl
But the fact is that after running 'make', doing ldd on mplayerplug-in.so
doesn't show any linking with libpthread, hence the error message when the
plugin is loaded.
So, I may be wrong, but I think that using this version of the plugin
compiled for x only would not work also using firefox, because ld would
not load libpthread when loading the plugin, which would give also an
undefined symbol under firefox.
I think this problem is related to 'ld', not to opera or any other
browser, so that's why I wanted to point the fact that the option returned
by 'pkg-config --libs firefox-plugin.pc' is not used in Makefile.
Perhaps someone else on the list could try 'configure --enable-x' and
'make' to see if the resulting .so are linked again libpthread or not ?
I already read your feelings about running the plugin under opera, and I
understand your point, but perhaps this problem is affecting all browsers,
not just opera.