Sollte das System sich weigern, Minecraft oder Spoutcraft zu starten, und die Fehlermeldung einen Hinweis auf eine falsche ELF-Klasse beinhalten, so erkennt Java nicht richtig, welche Librarys verwendet werden sollen. Dieses Problem tritt leider bei vielen 64-Bit-Systemen auf. Es muss hier dem dynamischen Linker ein wenig auf die Sprünge geholfen werden.
Da der Pfad zum installierten Java von Distribution zu Distribution unterschiedlich sein kann, ist
/usr/lib/jvm/java-7-openjdk/jre/lib/amd64, in den jeweiligen Aufrufen hier nur als Beispiel zu verstehen. Der eigentliche Pfad wird dem aber ähneln. Der Teil
/usr/lib/jvm sollte aber immer identisch sein. Von dort dann einfach „weiterhangeln“, bis man irgendwann auf
…/jre/lib stößt, dort drin gibt es ein Verzeichnis mit vielen
.so-Dateien, dies ist dann der Pfad.
Neuere Versionen des Linkers verwalten die zu nutzenden Librarys in einem Verzeichnis in Einzeldateien. Eine solche Datei ist anzulegen. Inhalt der Datei ist der Pfad zu den 64-Bit-Java-Librarys.
echo "/usr/lib/jvm/java-7-openjdk/jre/lib/amd64" >> /etc/ld.so.conf.d/java.conf
chmod 644 /etc/ld.so.conf.d/java.conf
Ältere Versionen des Linkers nutzen eine einzelne Datei, in der sich eine Liste von zu nutzenden Librarys befindet.
echo -e "\n/usr/lib/jvm/java-7-openjdk/jre/lib/amd64" >> /etc/ld.so.conf
Nachdem der Linker um die entsprechenden Optionen ergänzt wurde, muss er einmal ausgeführt werden, damit die neuen Librarys geladen werden.
ldconfig
Mittels
ldconfig -p | grep java kann nun überprüft werden, ob die neuen Librarys geladen wurden, und Spoutcraft sollte nun ohne Probleme starten