Eu instalei o firefox em um diretório de usuários (versão 3.6.10) /cache/app/firefox
.
Instalei o java jre1.6.0_21 em /cache/app/java/jre1.6.0_21
Eu tenho o link simbólico /cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so
to /cache/app/firefox/plugins/libjavaplugin_oji.so
Então, em teoria, quando eu inicio o Firefox, o plugin deve estar listado em about:config
- errado. Eu tenho muitos outros plugins funcionando muito bem, mas o java não está listado em qualquer lugar.
Eu executei strace -F ./firefox >/tmp/output.txt 2>&1
(o -F
é necessário porque os plug-ins do Firefox agora estão carregados em um processo bifurcado). O Firefox encontra claramente meu 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, "7ELF[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
[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, "7ELF[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
%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512
%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0%pre%%pre%04%pre%%pre%%pre%"..., 512) = 512
Parece claramente que o plugin está sendo encontrado, aberto e os primeiros 512 bytes lidos e possivelmente mapeados na memória. Então, por que não aparece na lista de plugins?
Uma pista pode ser que existe outro plugin mais antigo nos diretórios padrão (e eu não posso mudar isso, eu não tenho root, portanto rodando o firefox no modo de usuário).
%pre%
Embora certamente o firefox seja inteligente o suficiente para escolher o mais recente e usá-lo? Existe uma maneira de ativar a depuração durante a inicialização do firefox para que eu possa encontrar uma mensagem de depuração que explica por que o último plugin do JRE 1.6 está sendo ignorado?
Realmente frustrante, passei horas nisso.