Jump to content

Old error in internal Java in Linux version 40.43

Recommended Posts

Hello! I have GOG version, now 40.43 and use Linux (thank you very much for your native support of this platform!!).


Short and (possibly) irrelevant information

I use NixOS Linux, which runs a bit differently (see under "How does NixOS work?") than classic Linux.
However I am not touching/patching anything to make it NixOS native, -  and use FHS chroot (known as steam-run), which creates a classic environment.


This tool is created for Steam and Steam games and its working, but it can also create just a typical environment without launching Steam - perfect to run GOG games for example.


Additionally, I have java enabled (I know that PZ doesn't use system java and runs own local java binary) - and its visible globally and projected inside chroot : "steam-run java".

$ steam-run java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-ga)
OpenJDK 64-Bit Server VM (build 25.212-bga, mixed mode)

$ nixos-version
19.03.173068.9ec7625cee5 (Koi)

For example, I already play FTL game in same way (without issues) and needed not to touch it at all.


Now to actual problem

I store my free-space heavy games (and all my data) on big partition, but not on home partition;

then I have symbolic link: "~/run" > /media/data-disk/запуск/games.native

this is to make backup easy and prevent potential problems with software config (which is typically stored in ~) messing with valuable data.


As you use, I use cyrillic on folder with software (запуск).


So this is the problem:

$ steam-run ./start.sh 
Running Project Zomboid
couldn't determine 32/64 bit of java


Java is there. Installation is correct. Local java binaries are there (/game/projectzomboid/jre64/bin/... ). 
I edited the launch script:  /game/projectzomboid.sh

   INSTDIR="`dirname \"$0\"`"/projectzomboid ; cd "${INSTDIR}" ; INSTDIR="`pwd`"
++ echo $INSTDIR

and I get:

$ steam-run ./start.sh 
Running Project Zomboid
couldn't determine 32/64 bit of java

so INSTDIR is correctly detected.

However, if I manually launch your shipped binary, this is what I get:

$ steam-run /media/data-disk/запуск/games.native/zomboid/game/projectzomboid/jre64/bin/java -version
Error occurred during initialization of VM
java.lang.UnsatisfiedLinkError: no zip in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
        at java.lang.System.loadLibrary(System.java:1122)
        at java.lang.System.initializeSystemClass(System.java:1197)

Google points me to an old error in Java, which was fixed in 2011, but apparently not in java you ship?


So correct bug is "PZ won't execute if path to it contains cyrillic letters".

I would be very thankful if you could bump your local java version to fix this problem. :)

Thank you very much!

Edited by Iamnotasurvivor

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...