Summary: | media-video/vlc-0.9.6: libvlcplugin.so can't be loaded by opera | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Serge Ratke <serge.ratke> |
Component: | Current packages | Assignee: | Gentoo Media-video project <media-video> |
Status: | RESOLVED TEST-REQUEST | ||
Severity: | normal | CC: | gef.kornflakes, jer, mozilla |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Serge Ratke
2008-11-08 15:54:20 UTC
$ pkg-config --libs libxul -Wl,-R/usr/lib64/nspr -L/usr/lib64/xulrunner-1.9/lib -L/usr/lib64/nspr -lxpcomglue_s -lxul -lxpcom -lplds4 -lplc4 -lnspr4 -lpthread -ldl $ ldd /usr/lib64/nsbrowser/plugins/libvlcplugin.so [...] libxul.so => not found libxpcom.so => not found [...] maybe it should set the rpath to /usr/lib64/xulrunner-1.9/lib too; that could fix the issue. @mozilla: is that normal? @Jeroen: I have absolutely no clue how opera does use nsplugins, so I'm cc'ing you in case you can help. (In reply to comment #1) > @Jeroen: I have absolutely no clue how opera does use nsplugins, so I'm cc'ing > you in case you can help. Well, generally I might be able to help, but Opera specifically doesn't do anything that konqueror's or mozilla's NS plugin API wouldn't. It would really help if the reporter posted the output of ldd /usr/lib*/nsbrowser/plugins/libvlcplugin.so ldd /usr/lib/nsbrowser/plugins/libvlcplugin.so linux-gate.so.1 => (0xb7f5c000) libvlc.so.2 => /usr/lib/libvlc.so.2 (0xb7f14000) libvlccore.so.0 => /usr/lib/libvlccore.so.0 (0xb7e70000) libhal.so.1 => /usr/lib/libhal.so.1 (0xb7e5f000) libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0xb7e2a000) librt.so.1 => /lib/librt.so.1 (0xb7e20000) libxul.so => not found libxpcom.so => not found libplds4.so.7 => /usr/lib/nspr/libplds4.so.7 (0xb7e1c000) libplc4.so.7 => /usr/lib/nspr/libplc4.so.7 (0xb7e17000) libnspr4.so.7 => /usr/lib/nspr/libnspr4.so.7 (0xb7de4000) libpthread.so.0 => /lib/libpthread.so.0 (0xb7dcc000) libXpm.so.4 => /usr/lib/libXpm.so.4 (0xb7dbb000) libXt.so.6 => /usr/lib/libXt.so.6 (0xb7d6c000) libX11.so.6 => /usr/lib/libX11.so.6 (0xb7c83000) libXau.so.6 => /usr/lib/libXau.so.6 (0xb7c7f000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7c78000) libdl.so.2 => /lib/libdl.so.2 (0xb7c74000) libSM.so.6 => /usr/lib/libSM.so.6 (0xb7c6b000) libuuid.so.1 => /lib/libuuid.so.1 (0xb7c66000) libICE.so.6 => /usr/lib/libICE.so.6 (0xb7c4d000) libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/libstdc++.so.6 (0xb7b68000) libm.so.6 => /lib/libm.so.6 (0xb7b41000) libc.so.6 => /lib/libc.so.6 (0xb7a07000) libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/libgcc_s.so.1 (0xb79fa000) /lib/ld-linux.so.2 (0xb7f5d000) (In reply to comment #1) > $ pkg-config --libs libxul > -Wl,-R/usr/lib64/nspr -L/usr/lib64/xulrunner-1.9/lib -L/usr/lib64/nspr > -lxpcomglue_s -lxul -lxpcom -lplds4 -lplc4 -lnspr4 -lpthread -ldl > > $ ldd /usr/lib64/nsbrowser/plugins/libvlcplugin.so > [...] > libxul.so => not found > libxpcom.so => not found > [...] > > maybe it should set the rpath to /usr/lib64/xulrunner-1.9/lib too; that could > fix the issue. > > @mozilla: is that normal? > @Jeroen: I have absolutely no clue how opera does use nsplugins, so I'm cc'ing > you in case you can help. > I have no clue how does this works, but libxul.so is there... Vadim, what version of xulrunner-1.9 are you using? i'm using xulrunner 1.9.0.4-r1. so your libxul.so is getting picked up by libvlcplugin.so? the only thing which is missing is the directory where libxul.so is located not being in the LD_PATH, isn't it? (In reply to comment #5) > i'm using xulrunner 1.9.0.4-r1. so your libxul.so is getting picked up by > libvlcplugin.so? the only thing which is missing is the directory where > libxul.so is located not being in the LD_PATH, isn't it? yes, i think libxul.pc should probably advertise the rpath of libxul.so too when asked for libs. (In reply to comment #6) > (In reply to comment #5) > > i'm using xulrunner 1.9.0.4-r1. so your libxul.so is getting picked up by > > libvlcplugin.so? the only thing which is missing is the directory where > > libxul.so is located not being in the LD_PATH, isn't it? > > yes, i think libxul.pc should probably advertise the rpath of libxul.so too > when asked for libs. > Can you check how ubuntu does it? I don't see any reference to libxul.so on their plugin. Although i think they use xul-1.8... The vlc plugin cannot be loaded by mozilla-firefox-2 as well: LoadPlugin: failed to initialize shared library /usr/lib/nsbrowser/plugins/libvlcplugin.so [libxul.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden] (means "file not found".) Versions: www-client/mozilla-firefox-2.0.0.19 media-video/vlc-0.9.8a net-libs/xulrunner-1.8.1.19 net-libs/xulrunner-1.9.0.5 yelp still requires xulrunner 1.8: $ equery d xulrunner ... gnome-extra/yelp-2.22.1-r2 (xulrunner? =net-libs/xulrunner-1.8*) ... A work around for me currently is to add /usr/lib/xulrunner to the LD_LIBRARY_PATH in /usr/bin/firefox: export LD_LIBRARY_PATH=/usr/lib/xulrunner${LD_LIBRARY_PATH:+":$LD_LIBRARY_PATH"} Interesting enough, the vlc plugin seems to be compiled against xulrunner-1.8 (although 1.9 was installed when vlc was compiled), as putting /usr/lib/xulrunner-1.9 leads to undefined symbols: LoadPlugin: failed to initialize shared library /usr/lib/nsbrowser/plugins/libvlcplugin.so [/usr/lib/xulrunner-1.9/libxul.so: undefined symbol: js_CallClass] So the plugin can be loaded, but it doesn't work ("No running windows found"). As it seems, a xulrunner based plugin requires a xulrunner based browser. ~media-video/vlc-0.9.6 is no longer in tree. Is this reproductible in any way with recent vlc/opera setup ? (In reply to comment #11) > ~media-video/vlc-0.9.6 is no longer in tree. Is this reproductible in any way > with recent vlc/opera setup ? > please try this works here with vlc-1.1.0 and opera-10.11. though, i have no controls (play, pause, etc.) |