Bugzilla – Bug 131197
No java plugin for mozilla on x86_64
Last modified: 2005-11-02 08:45:31 UTC
This problem is restricted to Mozilla (mozilla-1.7.11-9.2), and not present in Firefox. I'm running my Mozilla on my AMD64 machine and noticed that no plugins are working: no Java, no Flash, no RealPlayer, others? First I tried to solve it by calling script "/opt/mozilla/bin/add-plugins.sh", but script doesn't add anything into Mozilla: For example the inclusion of Java fails, because "java-1_5_0-sun-plugin" is a i586 RPM package, whereas "java-1_5_0-sun" is a x86_64 RPM and so the test if [ "`get_arch $i`" = "$mozilla_arch" ]; then in find_java() function fails. :-( After I created the link from "/usr/lib/jvm/java-1.5.0-sun-1.5.0_03/jre/plugin/i386/ns7/libjavaplugin_oji.so" to "/opt/mozilla/lib64/plugins" manually, exited Mozilla, restarted Mozilla, the URL about:plugins still shows only the minimal plugin; the Default Plugin, but no Java. ------------------------------------------------------------------------------------- The problem regarding RealPlayer is nearly the same: a) first of all "file /usr/lib64/browser-plugins/nphelix.so" fails, because it's not the shared library, instead the link to "/usr/lib/browser-plugins/nphelix.so" is tested. --> link is no AMD x86-64 file --> fail. Suggested fix: add option "-L" to "file" call in get_arch() function, to dereference a link. b) After I added the dereferenced link test by the file comand in "/opt/mozilla/bin/add-plugins.sh" it fails again, as again a "Intel 80386" is compared with "AMD x86-64". :-( So, "/usr/lib[64]/browser-plugins/nphelix.so" is from wrong architecture; Not much astonishing, as we are only able to redristibute a RealPlayer for i586 architecture only on our distribution... c) finally creating the appropriate link in /opt/mozilla/lib64/plugins, but this has no effect. There isn't any such plugin in Mozilla shown. :-( With 9.3 this all worked fine. Any hints?
BTW: this is the output of mozilla at terminal window: /usr/bin/mozilla --debug LoadPlugin: failed to initialize shared library /usr/lib/jvm/java-1.5.0-sun-1.5.0_03/jre/plugin/i386/ns7/libjavaplugin_oji.so [/usr/lib/jvm/java-1.5.0-sun-1.5.0_03/jre/plugin/i386/ns7/libjavaplugin_oji.so: cannot open shared object file: No such file or directory] LoadPlugin: failed to initialize shared library /usr/lib/jvm/java-1.5.0-sun-1.5.0_03/jre/plugin/i386/ns7/libjavaplugin_oji.so [/usr/lib/jvm/java-1.5.0-sun-1.5.0_03/jre/plugin/i386/ns7/libjavaplugin_oji.so: cannot open shared object file: No such file or directory] and here the relevant part of strace: open("/usr/lib/jvm/java-1.5.0-sun-1.5.0_03/jre/plugin/i386/ns7/libjavaplugin_oji.so", O_RDONLY) = 36 read(36, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\352\0\0004\0\0\0\234\v\2\0\0\0\0\0004\0 \0\4\(\0\32\0\31\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\310\300\1\0\310\300\1\0\5\0\0\0\0\20\0\0\1\0\0\0\340\300\1\0\340\320\1\0\340\320 \1\0\204F\0\0\220F\0\0\6\0\0\0\0\20\0\0\2\0\0\0\20\1\2\0\20\21\2\0\20\21\2\0\330\0\0\0\330\0\0\0\6\0\0\0\4\0\0\0P\345td\364\266\1\0\364\266\1\0\364\266\1\0\324\ t\0\0\324\t\0\0\4\0\0\0\4\0\0\0\251\3\0\0\320\2\0\0\36\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\35\0\0\0o\1\0\0\210\2\0\0"..., 640) = 640 close(36) = 0 write(2, "LoadPlugin: failed to initialize shared library /usr/lib/jvm/java-1.5.0-sun-1.5.0_03/jre/plugin/i386/ns7/libjavaplugin_oji.so [/usr/lib/jvm/java-1.5.0-sun-1.5.0_03/jre/plugin/i386/ns7/libjavaplugin_oji.so: cannot open shared object file: No such file or di"..., 265) = 265
Well, I finally detected that FireFox is installed as i586.rpm (don't know why) and so did I with mozilla. Now Java, RealPlayer, etc. are working. *sic* hopefully mozilla-*.x86_64.rpm will soon support the 32bit libraries. I suggest to close this entry now.
Firefox is only installed as ix86 version because exactly this reason. IMHO we are far away from making it possible to use 32bit plugins in mozilla because there is no infrastructure at the moment. All plugins are loaded in process and that's simply not possible. My feeling says that mozilla.{org,com} is not interested in fixing this.
Sometimes I can understand the Mozilla developers. If they say: we want x86_64 plugins from the vendors (like Sun or RealMedia), to get those running native, then it is a valid argumentation for me. The thing that confused me, was that Firefox has Java support and Mozilla not after installation. Nevertheless, think about my suggested fix in my initial comment regarding script "/opt/mozilla/bin/add-plugins.sh" and the use of option "-L" for "file" call.
reopen for the enhancement request in comment #4
- mozilla is deprecated and might disappear in 10.1 - the successor seamonkey and firefox don't use add-plugins anymore but rely on a correct /usr/%{_lib}/browser-plugins