Portable linux build is not happy

The new Gradle build of Processing 4.4+ is generating a portable Linux build (yay! some of us get annoyed with snaps!) that doesn’t want to start (boo! what!).

On running ./Processing in the bin folder, I get:

Error: could not find libjava.so
Error: Could not find Java SE Runtime Environment.

I’ve tried mucking about with environment variables to point to the right location, but then realized, wait, this is the portable version and the file it needs is right there in the lib folder. So what gives?

(I could make an issue in github if wanted, but I thought I’d post here first in case I’m missing something silly.)

:~/bin/Processing/bin$ strace -o tmp.txt ./Processing
Error: could not find libjava.so
Error: Could not find Java SE Runtime Environment.
:~/bin/Processing/bin$ ls
Processing  tmp.txt
:~/bin/Processing/bin$ grep libjava.so tmp.txt 
access("/home/josh/bin/Processing/lib/libjava.so", F_OK) = -1 ENOENT (No such file or directory)
access("/home/josh/bin/Processing/jre/lib/libjava.so", F_OK) = -1 ENOENT (No such file or directory)
stat("/home/josh/lib/libjava.so", 0x7fff53ae8150) = -1 ENOENT (No such file or directory)
write(2, "Error: could not find libjava.so", 32) = 32

looks like it’s looking in lib/ but not in lib/runtime/ ?

Hi @joshg I setup a fresh Debian 12 VM and was not seeing the same issue

Ah putting Processing in ~/bin does cause the same issue, I would try installing Processing somewhere else

That fixed it!

If I were to want to fix this issue, where would I start looking? Gradle config stuff, or app code?

Great, glad to hear that worked!

Thanks for being proactive about looking into it — really appreciated. To properly resolve this, the fix would need to happen upstream in the Jetpack Compose packager, as it’s not something that’s configured within the Processing repo itself.

1 Like

I’ve been poking at this periodically when time permits; still a lot to learn about Compose. I also couldn’t shake the dream that it’s something closer to home that’s fixable, and tried testing different versions. The problem does not happen with 4.4.0, and starts at 4.4.1. Would that fit with it being an upstream issue (maybe a Compose version change or something)?

Ah okay, the only thing that changed between those two versions is going from Adoptium JDK 17.0.14 to Adoption JDK 17.0.8