I have installed firefox to a user directory (version 3.6.10) /cache/app/firefox
.
I have installed java jre1.6.0_21 to /cache/app/java/jre1.6.0_21
I have symlinked /cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so
to /cache/app/firefox/plugins/libjavaplugin_oji.so
So, in theory, when I start firefox the plugin should be listed in about:config
- wrong. I have lots of other plugins working just fine, but java is not listed anywhere.
I ran strace -F ./firefox >/tmp/output.txt 2>&1
(the -F
is necessary as firefox plugins are now loaded in a forked process). Firefox clearly finds my plugin:
[pid 5121] lstat64("/cache/app/firefox/plugins/libjavaplugin_oji.so", {st_mode=S_IFLNK|0777, st_size=78, ...}) = 0
[pid 5121] readlink("/cache/app/firefox/plugins/libjavaplugin_oji.so", "/cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so"..., 4096) = 78
...
[pid 5121] lstat64("/cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so", {st_mode=S_IFREG|0755, st_size=137021, ...}) = 0
[pid 5121] stat64("/cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so", {st_mode=S_IFREG|0755, st_size=137021, ...}) = 0
[pid 5121] access("/cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so", F_OK) = 0
[pid 5121] open("/cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so", O_RDONLY) = 35
[pid 5121] read(35, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\250\0\0004\0\0\0\4"..., 512) = 512
It clearly looks like the plugin is being found, opened, and the first 512 bytes read and possibly memory mapped. So why doesn't it appear in the list of plugins?
One clue could be that there's another older plugin lying in the default directories (and I can't change this, I don't have root, hence running firefox in user mode).
[pid 5121] lstat64("/usr/lib/jvm/java-1.5.0-sun-1.5.0.22/jre/plugin/i386/ns7/libjavaplugin_oji.so", {st_mode=S_IFREG|0644, st_size=103436, ...}) = 0
[pid 5121] stat64("/usr/lib/jvm/java-1.5.0-sun-1.5.0.22/jre/plugin/i386/ns7/libjavaplugin_oji.so", {st_mode=S_IFREG|0644, st_size=103436, ...}) = 0
Though surely firefox is smart enough to pick the latest one and use that? Is there a way of turning debugging ON during firefox start-up so I can find a debug message that explains why the latest JRE 1.6 plugin is being passed over?
Really frustrating, I've spent hours on this.