Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 391243

Summary: icedtea-bin-7 multilib amd64 minecraft ELF mismatch
Product: Gentoo Linux Reporter: C. Wijtmans <cj.wijtmans>
Component: [OLD] JavaAssignee: Java team <java>
Status: RESOLVED UPSTREAM    
Severity: normal CC: mmokrejs
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description C. Wijtmans 2011-11-21 14:01:26 UTC
$ java -jar Downloads/minecraft.jar
Created new window in existing browser session.
27 achievements
174 recipes
Setting user: kaasinees, 6492966854971641986
Exception in thread "Minecraft main thread" java.lang.UnsatisfiedLinkError: /home/desktop/.minecraft/bin/natives/liblwjgl.so: /home/desktop/.minecraft/bin/natives/liblwjgl.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1928)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1825)
        at java.lang.Runtime.load0(Runtime.java:792)
        at java.lang.System.load(System.java:1059)
        at org.lwjgl.Sys$1.run(Sys.java:69)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.lwjgl.Sys.doLoadLibrary(Sys.java:65)
        at org.lwjgl.Sys.loadLibrary(Sys.java:81)
        at org.lwjgl.Sys.<clinit>(Sys.java:98)
        at org.lwjgl.opengl.Display.<clinit>(Display.java:132)
        at net.minecraft.client.Minecraft.a(SourceFile:187)
        at net.minecraft.client.Minecraft.run(SourceFile:644)
        at java.lang.Thread.run(Thread.java:722)


Reproducible: Always

Steps to Reproduce:
1. download minecraft
2. run on multilib amd64
3. error running 32bit natives.
Comment 1 Serkan Kaba (RETIRED) gentoo-dev 2011-11-21 19:49:33 UTC
We already have a minecraft ebuild in overlays. Maybe you can try that. If Minecraft binary itself doesn't support amd64 you can try running it with  emul-linux-x86-java

Closing as invalid since this is not an issue with a portage package.
Comment 2 C. Wijtmans 2011-11-22 00:47:13 UTC
It is not about ebuilds or minecraft being 32bit. The issue here is that it used to work and it is broken on jdk 1.7/icedtea-bin-7. without running emul-linux-x86-java
Comment 3 C. Wijtmans 2011-11-22 00:48:48 UTC
(In reply to comment #2)
> It is not about ebuilds or minecraft being 32bit. The issue here is that it
> used to work and it is broken on jdk 1.7/icedtea-bin-7. without running
> emul-linux-x86-java

Also i do not appear to even have a 'emul-linux-x86-java' program.
Comment 4 C. Wijtmans 2011-11-23 13:26:55 UTC
Confirmed, does not happen with icedtea-bin-6
Comment 5 Ralph Sennhauser (RETIRED) gentoo-dev 2012-05-18 07:21:02 UTC
(In reply to comment #4)
> Confirmed, does not happen with icedtea-bin-6

And what about oracle-jdk-bin:1.7?

emul-linux-x86-java is a separate package.
Comment 6 C. Wijtmans 2012-05-18 09:31:55 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > Confirmed, does not happen with icedtea-bin-6
> 
> And what about oracle-jdk-bin:1.7?
> 
> emul-linux-x86-java is a separate package.

emul-linux-x86-java requires the oracle vm.
and i will not use oracle software.
Comment 7 Ralph Sennhauser (RETIRED) gentoo-dev 2012-05-18 11:32:43 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > (In reply to comment #4)
> > > Confirmed, does not happen with icedtea-bin-6
> > 
> > And what about oracle-jdk-bin:1.7?
> > 
> > emul-linux-x86-java is a separate package.
> 
> emul-linux-x86-java requires the oracle vm.
> and i will not use oracle software.

Then the only thing is to go upstream (minecraft) with that issue. There shouldn't be a 32bit lib in the library.path. Looks like there is an assumption made which no longer holds for java 7. IcedTea does properly identify itself as linux-amd64 here.

As a workaround you can try adding the 64 bit .so to LD_LIBRARY_PATH or using the ebuilds in ::java-overlay.