mojira.dev
MC-4496

Fresh Minecraft install downloads wrong architecture

When trying to run Minecraft for the first time on Ubuntu 12.10 (64-bit) the loader downloads the 32-bit version of the game.

Related issues

Comments

CubeTheThird

The game is not architecture specific. This is entirely dependant on your java install. If you have both 32 and 64 bit java installs, make sure the java command runs the 64 bit one.

migrated

There are no versions of Java installed other than the one specified and JAVA_HOME is pointing to it. Also starting the loader with the full path to the 64-bit version of Java yields the same result.

CubeTheThird

What specifically is telling you that the game is running in 32 instead of 64 bit?

migrated

Here's the error:

nomad@salanger7:~$ java -jar minecraft.jar
asdf
java.io.FileNotFoundException: /home/nomad/.minecraft/lastlogin (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at net.minecraft.LoginForm.readUsername(LoginForm.java:110)
at net.minecraft.LoginForm.<init>(LoginForm.java:55)
at net.minecraft.LauncherFrame.<init>(LauncherFrame.java:23)
at net.minecraft.LauncherFrame.main(LauncherFrame.java:167)
at net.minecraft.MinecraftLauncher.main(MinecraftLauncher.java:13)
Exception in thread "Thread-3" java.lang.UnsatisfiedLinkError: /home/nomad/.minecraft/bin/natives/liblwjgl.so: /home/nomad/.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.loadLibrary1(ClassLoader.java:1939)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
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 net.minecraft.client.Minecraft.F(SourceFile:1975)
at asr.<init>(SourceFile:20)
at net.minecraft.client.Minecraft.<init>(SourceFile:75)
at asi.<init>(SourceFile:36)
at net.minecraft.client.MinecraftApplet.init(SourceFile:36)
at net.minecraft.Launcher.replace(Launcher.java:136)
at net.minecraft.Launcher$1.run(Launcher.java:79)
^Cnomad@salanger7:~$ java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
nomad@salanger7:~$ uname -a
Linux salanger7 3.5.0-19-generic #30-Ubuntu SMP Tue Nov 13 17:48:01 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
nomad@salanger7:~$

CubeTheThird

Have you updated your LWJGL files? If not you can do it by following the instructions here.

migrated

I found a work around. Seems that Minecraft isn't specifically looking for the 64-bit java libraries for some reason.

Adding:
export LD_LIBRARY_PATH="/opt/java/jre/lib/amd64"

to a start script fixes the issue.

Funny, I don't have this problem with other Java apps like DBvisualizer or Delver.

migrated

Not fixed. Not invalid either!

I said before this is a problem with minecraft only, other java games detect libraries properly.

PLEASE FIX. update your LWJGL or whatever libs that is causing this problem.

migrated

(Unassigned)

Unconfirmed

Minecraft 1.4.5

Retrieved