-
Erreur ELF CLASS 64
Bonjour.
Pour mon stage en développement, je travaille sur un portable Acer 64 bits sur lequel tournent une fedora 64 bits. Il y avait le JRE1.4 d'installé, j'ai rajouté le JDK1.5 avec NetBeans et j'ai fait un petit projet pour appeler une librairie C++ depuis java. Ma librairie est bien compilée avec g++ et installée et quand je lance mon .jar avec le java du JRE, ça marche, avec le java du JDK ça ne marche pas, j'ai l'erreur wrong ELF CLASS 64 (de mémoire). La partie java du projet est faite avec NetBeans utilisant la plateforme 1.5.
Ma question est donc :
Avez vous une idée de pourquoi ça marche avec le 1.4 et pas avec le 1.5 ?
Je me trompe peut-être complètement de voie mais je n'ai pas vu sur le site de sun la possibilité de choisir une version 32 ou 64 bits...
Merci pour vos éclaircissements !
A+
-
Bonjour.
J'ai le même message avec une librairie que je n'ai pas compilé moi-même, c'est la librairie libj3dcore-ogl de java3d...
Personne n'a d'idées ?
A+
-
Re-bonjour.
WRONG ELF CLASS32 maintenant ! Mon projet java utilise java3d. Cette API utilise des méthodes natives, dont la librairie libj3dcore-ogl.so qui se trouve dans $JDK/jre/lib/amd64. Cette librairie appelle une autre librairie (ldd -r libj3dcore-ogl) qui est libjvm.so qui se trouve elle dans $JDK/jre/lib/i386/client (et server). Après avoir réglé mon LD_LIBRARY_PATH pour que les deux y soient, j'ai droit à une erreur WRONG ELF CLASS 32 ! Il y a, sauf erreur de ma part, un problème entre les versions 32 et 64 bits de ces librairies, non ?
J'utilise l'api java3d pour amd64bits puisqu'elle existe mais sur mon système, il n'y a qu'un libjvm, et elle est dans le repertoire i386...
Pensez vous qu'il y ait quelque chose à faire ?
Merci d'avance.
-
Bonjour.
Bon ben ça marche en installant l'api java3d 32 bits.
A+