J'ai installé firefox dans un répertoire utilisateur (version 3.6.10). /cache/app/firefox
.
J'ai installé java jre1.6.0_21 dans le répertoire /cache/app/java/jre1.6.0_21.
J'ai fait un lien symbolique /cache/app/java/jre1.6.0_21/plugin/i386/ns7/libjavaplugin_oji.so
à /cache/app/firefox/plugins/libjavaplugin_oji.so
Donc, en théorie, quand je démarre Firefox, le plugin devrait être listé dans about:config
- mauvais. J'ai beaucoup d'autres plugins qui fonctionnent parfaitement, mais java n'est répertorié nulle part.
J'ai couru strace -F ./firefox >/tmp/output.txt 2>&1
(le -F
est nécessaire car les plugins firefox sont maintenant chargés dans un processus de bifurcation). Firefox trouve clairement mon 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
Il semble clairement que le plugin soit trouvé, ouvert, et que les 512 premiers octets soient lus et éventuellement mis en mémoire. Alors pourquoi n'apparaît-il pas dans la liste des plugins ?
Un indice pourrait être qu'il y a un autre plugin plus ancien qui se trouve dans les répertoires par défaut (et je ne peux pas le changer, je n'ai pas de root, d'où l'utilisation de firefox en mode utilisateur).
[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
Mais firefox est sûrement assez intelligent pour choisir la dernière version et l'utiliser ? Existe-t-il un moyen d'activer le débogage au démarrage de Firefox pour que je puisse trouver un message de débogage qui explique pourquoi le dernier plugin JRE 1.6 est transféré ?
Vraiment frustrant, j'ai passé des heures là-dessus.