Old error in internal Java in Linux version 40.43
1 1

1 post in this topic

Recommended Posts

Posted (edited)

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
1 1