Erro ao rodar Alice (software em Java 32bits numa máquina 64bits)

Iniciado por Drowze, 04 de Abril de 2014, 18:49

tópico anterior - próximo tópico

Drowze

Estou com problemas ao executar o Alice, um software básico de programação de animações 3D que utilizo na faculdade para introdução à programação. (www.alice.org)
Meu SO: Ubuntu 13.10 64 bits
Software: Alice 2.4

O que eu fiz:

  • Instalei o Java através dos comandos
sudo add-apt-repository ppa:webupd8team/java && sudo apt-get update
sudo apt-get install oracle-jdk7-installer


./run-alice


Log do Terminal:
giba@giba-ubuntu:~/Alice 2.4/Required$ ./run-alice
Registered succesfully
Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /home/giba/Alice 2.4/Required/lib/linux-i586/libgluegen-rt.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
java.lang.UnsatisfiedLinkError: /home/giba/Alice 2.4/Required/lib/linux-i586/libgluegen-rt.so: /home/giba/Alice 2.4/Required/lib/linux-i586/libgluegen-rt.so: classe ELF errada: ELFCLASS32 (Possible cause: architecture word width mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at com.sun.gluegen.runtime.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:102)
at com.sun.gluegen.runtime.NativeLibLoader.access$000(NativeLibLoader.java:51)
at com.sun.gluegen.runtime.NativeLibLoader$1.run(NativeLibLoader.java:70)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.gluegen.runtime.NativeLibLoader.loadGlueGenRT(NativeLibLoader.java:68)
at com.sun.gluegen.runtime.NativeLibrary.ensureNativeLibLoaded(NativeLibrary.java:399)
at com.sun.gluegen.runtime.NativeLibrary.open(NativeLibrary.java:163)
at com.sun.gluegen.runtime.NativeLibrary.open(NativeLibrary.java:129)
at com.sun.opengl.impl.x11.DRIHack.begin(DRIHack.java:109)
at com.sun.opengl.impl.x11.X11GLDrawableFactory.<clinit>(X11GLDrawableFactory.java:99)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at javax.media.opengl.GLDrawableFactory.getFactory(GLDrawableFactory.java:111)
at javax.media.opengl.GLCanvas.chooseGraphicsConfiguration(GLCanvas.java:520)
at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:131)
at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:90)
at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:83)
at edu.cmu.cs.stage3.alice.scenegraph.renderer.joglrenderer.OnscreenRenderTarget.getAWTComponent(OnscreenRenderTarget.java:60)
at edu.cmu.cs.stage3.alice.authoringtool.util.RenderTargetPickManipulator.setRenderTarget(RenderTargetPickManipulator.java:74)
at edu.cmu.cs.stage3.alice.authoringtool.util.RenderTargetPickManipulator.<init>(RenderTargetPickManipulator.java:45)
at edu.cmu.cs.stage3.alice.authoringtool.util.RenderTargetMultiManipulator.<init>(RenderTargetMultiManipulator.java:33)
at edu.cmu.cs.stage3.alice.authoringtool.editors.sceneeditor.CameraViewPanel.renderInit(CameraViewPanel.java:875)
at edu.cmu.cs.stage3.alice.authoringtool.editors.sceneeditor.SceneEditor.setAuthoringTool(SceneEditor.java:238)
at edu.cmu.cs.stage3.alice.authoringtool.JAliceFrame.guiInit(JAliceFrame.java:176)
at edu.cmu.cs.stage3.alice.authoringtool.JAliceFrame.<init>(JAliceFrame.java:87)
at edu.cmu.cs.stage3.alice.authoringtool.AuthoringTool.mainInit(AuthoringTool.java:465)
at edu.cmu.cs.stage3.alice.authoringtool.AuthoringTool.<init>(AuthoringTool.java:415)
at edu.cmu.cs.stage3.alice.authoringtool.JAlice.main(JAlice.java:143)


O erro:
Creio que o erro seja esse:
java.lang.UnsatisfiedLinkError: /home/giba/Alice 2.4/Required/lib/linux-i586/libgluegen-rt.so: /home/giba/Alice 2.4/Required/lib/linux-i586/libgluegen-rt.so: classe ELF errada: ELFCLASS32 (Possible cause: architecture word width mismatch)

  Pelo que pesquisei, creio que seja causado pelo fato de o programa ser 32bits e eu utilizar Java 64bits. Infelizmente, sou total iniciante (sério!) no ubuntu e não sei como resolver esse problema.
   Eu realmente não quero ter que bootar o Windows só para abrir o Alice :( Conto com a ajuda de vocês!

pylm69

  Na área dicas e truques tem um tutorial para habilitar o suporte a multilib.
Rolling Release é o máximo \o/

Drowze

Citação de: pylm69 online 04 de Abril de 2014, 21:53
  Na área dicas e truques tem um tutorial para habilitar o suporte a multilib.

Desculpe, mas pesquisei e realmente não achei o tópico sobre isso. Tem como passar o link, por favor?

Renan Rischiotto

Citação de: Drowze online 05 de Abril de 2014, 14:54
Citação de: pylm69 online 04 de Abril de 2014, 21:53
 Na área dicas e truques tem um tutorial para habilitar o suporte a multilib.

Desculpe, mas pesquisei e realmente não achei o tópico sobre isso. Tem como passar o link, por favor?

Olá,

O tópico que ele se refere tinha sido criado por mim, mas eu o removi, pois comigo não fez diferença, ao que parece o Ubuntu 64-bit já vem com o suporte para a arquitetura 32-bit. E também um amigo aqui do fórum disse que as bibliotecas 32-bit devem ser instaladas como dependência de cada programa. Então concluo que não é necessário instalá-las, como o meta-pacote "ia32-libs" por exemplo.

Abraços.