processing / processing/processing4

Binaries under bin directory lack executable permissions for the snap and .deb packages for Linux

Open
#1,567 3 comments 1 reaction 1 assignee View on GitHub

@catilac is already working on this.

Since Sep 17, 2026.

bug
Dominant language
Java
Stars
497
Forks
183
Avg merge
4h 39m
Merged PRs (30d)
3

Description

Most appropriate sub-area of Processing 4?

Build process, Export

Processing version

processing-4.5.6-1434

Operating system

Debian 7.1.8-1 x86_64 GNU/Linux

Bug description

It seems like there are executable permission lacking for windress for Processing for snap and for java for the .deb package.

While using the snap build of Processing one is able to run sketches and export them as a Linux executable, but while trying to export a Windows executable an IOException is raised due to permission denial for /snap/processing/39/opt/processing/lib/app/resources/modes/java/application/launch4j/bin/windres in snap. As for the .deb build, one is not able to run any sketches at all due to the same Exception for /opt/processing/lib/app/resources/jdk/bin/java. These issues seemed to be linked to #1074.

As it can be seen for the snap build, the windres binary doesn't have executable permissions:

$: ls -lA /snap/processing/39/opt/processing/lib/app/resources/modes/java/application/launch4j/bin/windres
-rw-r--r-- 1 root root 1124960 Jul 19 19:15 /snap/processing/39/opt/processing/lib/app/resources/modes/java/application/launch4j/bin/windres

And for the .deb package, the java library permissions seem to be:

ls -lA /opt/processing/lib/app/resources/jdk/bin/java
-rw-r--r-- 1 root root 16320 Jul 19 19:15 /opt/processing/lib/app/resources/jdk/bin/java

The relevant error message in for the snap build case while trying to Export a sketch for Windows:

Caused by: java.io.IOException: Cannot run program "/snap/processing/39/opt/processing/lib/app/resources/modes/java/application/launch4j/bin/windres": error=13, Permission denied
	at java.base/java.lang.ProcessBuilder.start(Unknown Source)
	at java.base/java.lang.ProcessBuilder.start(Unknown Source)
	at java.base/java.lang.Runtime.exec(Unknown Source)
	at java.base/java.lang.Runtime.exec(Unknown Source)
	at net.sf.launch4j.Util.exec(Util.java:128)
	... 59 more

And the one for the .deb build case while trying to run a sketch:

Caused by: java.io.IOException: Cannot run program "/opt/processing/lib/app/resources/jdk/bin/java": error=13, Permission denied
	at java.base/java.lang.ProcessBuilder.start(Unknown Source)
	at java.base/java.lang.ProcessBuilder.start(Unknown Source)
	at java.base/java.lang.Runtime.exec(Unknown Source)
	at java.base/java.lang.Runtime.exec(Unknown Source)
	at processing.core.PApplet.exec(PApplet.java:3203)
	... 2 more

The .deb package also fails to export a Windows executable for the same reasons for /opt/processing/lib/app/resources/modes/java/application/launch4j/bin/windres.

Steps to reproduce this

For the snap build:

  1. Create new sketch and save it.
  2. Go to: File → Export Application...
  3. Check the Windows (Intel 64-bit) option
  4. Click Export

For the .deb package:

  1. Create a new sketch.
  2. Attempt to run it.
snippet
void setup() { println("Hello World for Windows from Linux!"); exit(); }
Additional context

I also tested the flatpak build and it seems to be in the same situation as with the snap build, but for the binary at /app/lib/app/resources/modes/java/application/launch4j/bin/windres.
For the .deb package, manually changing the permissions to all the files under /opt/processing/lib/app/resources/modes/java/application/launch4j/bin/ seemed to have solved both the issue with running sketches and exporting an Windows executable successfully.

Would you like to work on the issue?

No, I’m just reporting the issue

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.