Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrong linux natives #22

Closed
evix1101 opened this issue Oct 29, 2012 · 9 comments
Closed

Wrong linux natives #22

evix1101 opened this issue Oct 29, 2012 · 9 comments

Comments

@evix1101
Copy link

2012-10-29 16:32:05 [INFO] [ForgeModLoader] Forge Mod Loader version 4.2.6.422 for Minecraft 1.4.2 loading
2012-10-29 16:32:06 [INFO] [STDOUT] Adding Accesstransformer map: codechickencore_at.cfg
2012-10-29 16:32:06 [INFO] [STDOUT] Adding Accesstransformer map: nei_at.cfg
2012-10-29 16:32:07 [INFO] [STDOUT] Inserted super call into auk.c
2012-10-29 16:32:07 [INFO] [STDOUT] atq was overriden from NotEnoughItems 1.4.1.jar
2012-10-29 16:32:08 [INFO] [STDERR] java.lang.reflect.InvocationTargetException
2012-10-29 16:32:08 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-10-29 16:32:08 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-10-29 16:32:08 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-10-29 16:32:08 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-10-29 16:32:08 [INFO] [STDERR] at cpw.mods.fml.relauncher.FMLRelauncher.relaunchClient(FMLRelauncher.java:111)
2012-10-29 16:32:08 [INFO] [STDERR] at cpw.mods.fml.relauncher.FMLRelauncher.handleClientRelaunch(FMLRelauncher.java:26)
2012-10-29 16:32:08 [INFO] [STDERR] at net.minecraft.client.Minecraft.main(Minecraft.java:2152)
2012-10-29 16:32:08 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-10-29 16:32:08 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-10-29 16:32:08 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-10-29 16:32:08 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Method.java:601)
2012-10-29 16:32:08 [INFO] [STDERR] at net.ftb.gui.LaunchFrame.launchMinecraft(LaunchFrame.java:866)
2012-10-29 16:32:08 [INFO] [STDERR] at net.ftb.gui.LaunchFrame$9.done(LaunchFrame.java:678)
2012-10-29 16:32:08 [INFO] [STDERR] at javax.swing.SwingWorker$5.run(SwingWorker.java:737)
2012-10-29 16:32:08 [INFO] [STDERR] at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:832)
2012-10-29 16:32:08 [INFO] [STDERR] at sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
2012-10-29 16:32:08 [INFO] [STDERR] at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:842)
2012-10-29 16:32:08 [INFO] [STDERR] at javax.swing.Timer.fireActionPerformed(Timer.java:312)
2012-10-29 16:32:08 [INFO] [STDERR] at javax.swing.Timer$DoPostEvent.run(Timer.java:244)
2012-10-29 16:32:08 [INFO] [STDERR] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
2012-10-29 16:32:08 [INFO] [STDERR] at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721)
2012-10-29 16:32:08 [INFO] [STDERR] at java.awt.EventQueue.access$200(EventQueue.java:103)
2012-10-29 16:32:08 [INFO] [STDERR] at java.awt.EventQueue$3.run(EventQueue.java:682)
2012-10-29 16:32:08 [INFO] [STDERR] at java.awt.EventQueue$3.run(EventQueue.java:680)
2012-10-29 16:32:08 [INFO] [STDERR] at java.security.AccessController.doPrivileged(Native Method)
2012-10-29 16:32:08 [INFO] [STDERR] at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
2012-10-29 16:32:08 [INFO] [STDERR] at java.awt.EventQueue.dispatchEvent(EventQueue.java:691)
2012-10-29 16:32:08 [INFO] [STDERR] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
2012-10-29 16:32:08 [INFO] [STDERR] at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
2012-10-29 16:32:08 [INFO] [STDERR] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
2012-10-29 16:32:08 [INFO] [STDERR] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
2012-10-29 16:32:08 [INFO] [STDERR] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
2012-10-29 16:32:08 [INFO] [STDERR] at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
2012-10-29 16:32:08 [INFO] [STDERR] Caused by: java.lang.UnsatisfiedLinkError: /home/voxus/Minecraft/FTBLaunch/FTBA/.minecraft/bin/natives/liblwjgl.so: /home/voxus/Minecraft/FTBLaunch/FTBA/.minecraft/bin/natives/liblwjgl.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
2012-10-29 16:32:08 [INFO] [STDERR] at java.lang.ClassLoader$NativeLibrary.load(Native Method)
2012-10-29 16:32:08 [INFO] [STDERR] at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
2012-10-29 16:32:08 [INFO] [STDERR] at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
2012-10-29 16:32:08 [INFO] [STDERR] at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1825)
2012-10-29 16:32:08 [INFO] [STDERR] at java.lang.Runtime.load0(Runtime.java:792)
2012-10-29 16:32:08 [INFO] [STDERR] at java.lang.System.load(System.java:1059)
2012-10-29 16:32:08 [INFO] [STDERR] at org.lwjgl.Sys$1.run(Sys.java:69)
2012-10-29 16:32:08 [INFO] [STDERR] at java.security.AccessController.doPrivileged(Native Method)
2012-10-29 16:32:08 [INFO] [STDERR] at org.lwjgl.Sys.doLoadLibrary(Sys.java:65)
2012-10-29 16:32:08 [INFO] [STDERR] at org.lwjgl.Sys.loadLibrary(Sys.java:81)
2012-10-29 16:32:08 [INFO] [STDERR] at org.lwjgl.Sys.(Sys.java:98)
2012-10-29 16:32:08 [INFO] [STDERR] at net.minecraft.client.Minecraft.F(Minecraft.java:2473)
2012-10-29 16:32:08 [INFO] [STDERR] at net.minecraft.client.Minecraft.fmlReentry(Minecraft.java:2162)
2012-10-29 16:32:08 [INFO] [STDERR] ... 33 more

The key line is this: /home/voxus/Minecraft/FTBLaunch/FTBA/.minecraft/bin/natives/liblwjgl.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
2012-10-29 16:32:08 [INFO] [STDERR] at java.lang.ClassLoader$NativeLibrary.load(Native Method)

I even overwrote the natives with the correct versions, upon the next launch the incorrect versions were redownloaded.
Linux evix 3.6.3-1-ARCH #1 SMP PREEMPT Mon Oct 22 10:23:56 CEST 2012 x86_64 GNU/Linux

@knaar13
Copy link

knaar13 commented Oct 30, 2012

I am also getting this issue. Some specs about my system (my crash log is identical to the one above).

$ uname -a

Linux camelot 3.2.0-31-generic #50-Ubuntu SMP Fri Sep 7 16:16:45 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/issue

Ubuntu 12.04.1 LTS \n \l

$ 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)

I have Ubuntu 64-bit 12.04 with Oracle (not OpenJDK) Java 7 from a custom (non-official) repo. In order to get vanilla minecraft to start I need the latest LWJGL binaries from the LWJGL website (the ones that come with minecraft whitescreen). Normally when minecraft updates, I just copy the latest LWJGL over top the ones it downloaded from Mojang and everything works fine.

However, your launcher overwrites the new (working) LWJGL binaries every time with the old (not working, 32-bit) LWJGL libraries. This happens each time I attempt to launch minecraft from your launcher.

I did notice it was copying them from my ~/.minecraft folder so I attempted to copy the working LWJGL there but it still gets the same error about "wrong ELF class: ELFCLASS32". It looks like you re-download the wrong version of LWJGL each time instead of using the one I supplied, which is something vanilla minecraft does not do.

So until this is resolved I will not be able to play using your launcher on my 64-bit system. Which is fine considering I use MultiMC and can just copy your mod/config files to MultiMC if I really want to play on a server or something.

But you might want to give people the ability to use a LWJGL that works -- even if they have to figure out how to upgrade it on their own. That should be as easy as checking if the LWJGL files exist and if they do exist, skip downloading and leave them alone.

@eddyb
Copy link

eddyb commented Dec 2, 2012

NOTE: this happens only on x64 linux.
I have an workaround: rename the three .so files with 64 at the end to remove the 64 part, overwriting the 32 .so files.
Then, to lock them down (so they don't get replaced), do this:

sudo chown root:root *
sudo chmod 444 *

EDIT: apparently that's bad and it doesn't fix anything. Creating a launch script that sets LD_LIBRARY_PATH works instead.

echo LD_LIBRARY_PATH=/usr/lib64/jvm/jre-1.7.0-openjdk/lib/amd64/ java -jar FTB_Launcher.jar > ftb
chmod +x ftb
./ftb # do this every time you want to launch FTB.

@k4lamI7Y
Copy link

k4lamI7Y commented Dec 2, 2012

Hello there! Well it seems to be happening to me on x86 as well eddyb unfortunately. Now while I have no idea whether or not what you said works, I found that just downloading the new lwjgl repositories from http://www.lwjgl.org/download.php and replacing the jars and native files under /ftb(or whatever you named the folder that its in)/FTBBETAA/minecraft/bin fixes it. I have also tested this with my 64 bit machine and it works as well. This isn't the developers faults, as mojang has updated the lwjgl repositories for windows to 2.8.5, whereas us linux users are downloading a not updated version (it seems as if were being left out D:). Maybe ftb dev's if you are seeing this, could you perhaps have it download the lwjgl repos for linux from a different location than mojangs servers, I understand that you are all probably very flushed with things to do, and this should be the least of your worries at the moment. I just don't want an inexperienced linux user not to have the ability to mess around with this amazing modpack! Thank you for taking the time to read this comment, and I hope that either you make a tutorial for fixing it, or have the client download the repos for linux from a new place, because this really is an awesome modpack (much more enjoyable than tekkit if I must say) and I would hate for a single user to not be able to use it.

@rmbell
Copy link

rmbell commented Dec 25, 2012

This is still a current issue.

@russjr08
Copy link

Unfortunately, I don't think there is anything the launcher can do. (I'm not a launcher dev, I'm just giving my opinions from past experience) I get that on vanilla Minecraft when playing under Linux x64. Downloading updated natives may have bad implications, there is a reason Mojang doesn't have it updated. If you set the LD_LIBRARY_PATH variable in your .bashrc file, it'll run on every launch and that way, every instance of Minecraft you use will work correctly ;)

@smickles
Copy link

Was this ever resolved for anyone? I believe I'm suffering the same thing and it seems to prevent me from using this at all.

@unv-annihilator
Copy link
Contributor

It hasn't been resolved via the launcher yet, no. However, it has been brought up in conversation about whether or not we'll just default to using updated natives for everyone. It's a back and forth battle and we don't want to force or make anything default if it wouldn't be for the better overall.

@russjr08
Copy link

This could be implemented by either an option (that is on by default for
AMD Linux users) or, just forcing it. The only option right now for Linux
64 bit users is to export a path before launching FTB, or through running
on login (appending it to the end of .bash_home file should do this.). I
see your point, as nothing should be forced, but I do like that default
option for 64 bit Linux users that would download the latest natives from
LWJGL.

On Sunday, January 20, 2013, unv-annihilator wrote:

It hasn't been resolved via the launcher yet, no. However, it has been
brought up in conversation about whether or not we'll just default to using
updated natives for everyone. It's a back and forth battle and we don't
want to force or make anything default if it wouldn't be for the better
overall.


Reply to this email directly or view it on GitHubhttps://github.com//issues/22#issuecomment-12483449.

@samlich
Copy link
Contributor

samlich commented Jan 29, 2013

Updating the lwjgl files to 2.8.5 fixed the issue for me, it also fixes the issue with the cursor appearing every time you click if you were having that issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants