# Is Oracle JDK required for Processing ARM to run?

**URL:** <https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404>\
**Category:** Processing for Pi\
**Created:** [December 14, 2019, 8:12pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404 "2019-12-14T20:12:07Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![mb668](https://avatars.discourse-cdn.com/v4/letter/m/c5a1d2/32.png) [@mb668](https://discourse.processing.org/u/mb668)\
**Post date:** [December 14, 2019, 8:12pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/1 "2019-12-14T20:12:07Z")

</div>

First time poster here.

I’ve just installed Processing on a Pinebook Pro (ARM64 processor; nice machine!) running Manjaro Preview 4. I’m getting a list of Java-related errors when I invoke Processing from the command line or GUI icon. For example:

`Exception in thread "AWT-EventQueue-0" java.awt.HeadlessException `

Java is not currently installed on the machine.

```auto
$ java -version
bash: java: command not found

```

The forums provide conflicting views about whether Processing comes with its own Java implementation and users are not required to install Java separately; the counter view is the reverse of this. I am left somewhat confused. Can anyone confirm which case is correct for Processing for ARM?

If I have to install Oracle Java JDK to get Processing to work, then does anyone have a step-by-step guide for a noob about how to do this? I have downloaded `jdk-8u231-linux-arm64-vfp-hflt.tar.gz` from the Oracle site but am unclear about the steps required to successfully install it for use with Processing.

Remember, I’m using Manjaro ARM so please don’t refer me to an Ubuntu PPA or tell me to use a Raspbian image. 🙂

I do hope I get Processing running on my Pinebook Pro.

Thanks.

---

<div class="post-metadata">

**Author:** ![kll](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/kll/32/964_2.png) [@kll](https://discourse.processing.org/u/kll)\
**Post date:** [December 16, 2019, 4:35am UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/2 "2019-12-16T04:35:48Z")

</div>

not sure i can help,

for me is not clear what processing you installed,  
( why you not detailed that ( link / file name … )  
but sure, if it is a processing like i know it from Raspberry Pi  
it comes with its own java, so…

when you try from terminal

```auto
$ java --version

```

you get a possibly installed java BUT not the one from processing.

here ( RPI 3 B + )

```auto
pi@RPI:~ $ java --version
openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Raspbian-1deb10u1)
OpenJDK Server VM (build 11.0.5+10-post-Raspbian-1deb10u1, mixed mode)
pi@RPI:~ $ 

```

that one is installed, but that does not matter for processing if it has its own???

so when i run processing i can ask it

```auto
__SYS INFO :
System : Linux 4.19.75-v7+
JAVA : /usr/local/lib/processing-3.5.3/java rev: 1.8.0_202
OPENGL : VENDOR Broadcom RENDERER VideoCore IV HW VERSION OpenGL ES 2.0 GLSL_VERSION: OpenGL ES GLSL ES 1.00
user.home : /home/pi
user.dir : /usr/local/lib/processing-3.5.3
user.name : pi

```

and the path info for java

```auto
pi@RPI:/usr/local/lib/processing-3.5.3/java $ tree -d
.
├── bin
└── lib
    ├── applet
    ├── arm
    │ ├── client
    │ ├── jli
    │ └── server
    ├── cmm
    ├── ext
    ├── fonts
    ├── images
    │ └── cursors
    ├── jfr
    ├── management
    ├── oblique-fonts
    └── security
        └── policy
            ├── limited
            └── unlimited

19 directories
pi@RPI:/usr/local/lib/processing-3.5.3/java $ 

```

please now try to find your processing installation  
and check if there is a java included or not.

if yes, not need to install any add JAVA

if no, install 1.8.0\_202

---

<div class="post-metadata">

**Author:** ![mb668](https://avatars.discourse-cdn.com/v4/letter/m/c5a1d2/32.png) [@mb668](https://discourse.processing.org/u/mb668)\
**Post date:** [December 16, 2019, 11:18am UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/3 "2019-12-16T11:18:11Z")

</div>

Thank you @kll for your detailed reply. I was clear in my first post that I was running processing under Manjaro Linux on a Pinebook Pro. It’s very similar a RPi installation.

Java appears to be installed, that is, I can see a directory tree similar to yours:

```auto
[mb668@PBP java]$ tree -d
.
├── bin
└── lib
    ├── aarch64
    │ ├── jli
    │ └── server
    ├── applet
    ├── cmm
    ├── ext
    ├── fonts
    ├── images
    │ └── cursors
    ├── jfr
    ├── management
    ├── oblique-fonts
    └── security

```

My system does not recognise that Java is installed …

```auto
$ java -version
bash: java: command not found

```

… so even though some Java files may have been installed as part of Processing, they are not being recognised by either my system or Processing itself.

I now face two possibilities:

1. How to configure Processing to use the Java files that are part of its own installation, or

2. How to install Oracle JDK (my original question).

Thanks.

---

<div class="post-metadata">

**Author:** ![kll](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/kll/32/964_2.png) [@kll](https://discourse.processing.org/u/kll)\
**Post date:** [December 16, 2019, 11:56am UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/4 "2019-12-16T11:56:01Z")

</div>

-1-

> [@mb668](#):
>
> I was clear in my first post

even now it is not clear WHAT / HOW you have installed processing.  
this? [http://download.processing.org/processing-3.5.3-linux-armv6hf.tgz](http://download.processing.org/processing-3.5.3-linux-armv6hf.tgz)  
( that contains JAVA )

-2- yes that looks like java ?aarch64?  
but could not see the path where it is under…

-3- NO,

> [@mb668](#):
>
> $ java -version

will never show the java inside a processing install ( unless you force it )  
that is same on all systems :  
you not need to install JAVA if the processing comes with java.  
if other java install on the system also does not matter

BUT if processing has no internal java you must install java,  
and the exact version needed by processing.

* * *

over all i can not help because i not know / have your system.  
still i hope that general info helps as a start,  
until some expert can tell you what to do,  
or has more info if, for that hardware and OS, a processing build currently available.

---

<div class="post-metadata">

**Author:** ![mb668](https://avatars.discourse-cdn.com/v4/letter/m/c5a1d2/32.png) [@mb668](https://discourse.processing.org/u/mb668)\
**Post date:** [December 16, 2019, 12:24pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/5 "2019-12-16T12:24:06Z")

</div>

> [@kll](#):
>
> even now it is not clear WHAT / HOW you have installed processing.  
> this? [http://download.processing.org/processing-3.5.3-linux-armv6hf.tgz](http://download.processing.org/processing-3.5.3-linux-armv6hf.tgz)

Yes, that is exactly the version I have installed. It contains Java.  
n  
I extracted the .tgz file and then `cd` to the resulting `processing-3.5.3` folder, then

```auto
sudo ./install.sh

```

This creates the desktop icon labelled `Processing IDE`. It all looks fine, but on execution I get the following errors:

```auto
[mb668@PBP processing-3.5.3]$ Exception in thread "AWT-EventQueue-0" java.awt.HeadlenssException
	at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
	at java.awt.Window.<init>(Window.java:536)
	at java.awt.Frame.<init>(Frame.java:420)
	at java.awt.Frame.<init>(Frame.java:385)
	at processing.app.Messages.showTrace(Messages.java:177)
	at processing.app.Base$1.run(Base.java:119)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

```

I have taken all this to be Java-related, and hence my questions about whether or not Java is installed on my system (yes, apparently, via the installation of Processing itself).

If Java is installed, and configured correctly, then why are these Java errors being generated?

---

<div class="post-metadata">

**Author:** ![kll](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/kll/32/964_2.png) [@kll](https://discourse.processing.org/u/kll)\
**Post date:** [December 16, 2019, 12:33pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/6 "2019-12-16T12:33:54Z")

</div>

did you google about if some one ever use processing

- on that hardware and
- that Manjaro Linux?

---

<div class="post-metadata">

**Author:** ![monkstone](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/monkstone/32/64_2.png) [@monkstone](https://discourse.processing.org/u/monkstone)\
**Post date:** [December 16, 2019, 12:37pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/7 "2019-12-16T12:37:19Z")

</div>

Looks to me like mismatch in architectures. 32 bit arm on 64 bit aarch64.

---

<div class="post-metadata">

**Author:** ![mb668](https://avatars.discourse-cdn.com/v4/letter/m/c5a1d2/32.png) [@mb668](https://discourse.processing.org/u/mb668)\
**Post date:** [December 16, 2019, 12:38pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/8 "2019-12-16T12:38:04Z")

</div>

> [@kll](#):
>
> did you google about if some one ever use processing
> 
> - on that hardware and
> - that Manjaro Linux?

Yes, of course. I would not post to this forum without doing basic online research first.

The hardware is new (released only a few weeks ago) and there is no prior experience of anyone using Processing with it. Similarly, Manjaro ARM, especially on this hardware, is also very new.

---

<div class="post-metadata">

**Author:** ![monkstone](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/monkstone/32/64_2.png) [@monkstone](https://discourse.processing.org/u/monkstone)\
**Post date:** [December 16, 2019, 12:40pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/9 "2019-12-16T12:40:44Z")

</div>

I would be surprised given that you can find java version to install, yes there are zero vm might be available but performance will be slow (established jvms use assembly code).

---

<div class="post-metadata">

**Author:** ![mb668](https://avatars.discourse-cdn.com/v4/letter/m/c5a1d2/32.png) [@mb668](https://discourse.processing.org/u/mb668)\
**Post date:** [December 16, 2019, 12:41pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/10 "2019-12-16T12:41:13Z")

</div>

Ah, right. That would explain a lot!

It looks like the ARM version of Processing is 32-bit only. Am I SOL then?

---

<div class="post-metadata">

**Author:** ![monkstone](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/monkstone/32/64_2.png) [@monkstone](https://discourse.processing.org/u/monkstone)\
**Post date:** [December 16, 2019, 12:46pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/11 "2019-12-16T12:46:15Z")

</div>

Most probably, when I got my RaspberryPI4 I thought I would install a 64 bit ArchLinux distro, but it was a mistake, as only JVM available was the zero vm ones and performance was useless. Furthermore rest of distro was not optimized like RasbpberryPI buster, so even video driver was not too hot.

---

<div class="post-metadata">

**Author:** ![mb668](https://avatars.discourse-cdn.com/v4/letter/m/c5a1d2/32.png) [@mb668](https://discourse.processing.org/u/mb668)\
**Post date:** [December 16, 2019, 12:52pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/12 "2019-12-16T12:52:08Z")

</div>

Thanks. That’s good to know (though kind of annoying too) 😃

I’ve run Processing on a Pi 3B+ before and (wrongly) assumed that I could run it on a different ARM device without trouble. It might be a case of waiting for the software to catch up with the hardware.

I’m a bit out of my depth in asking this but wonder if it’s possible to configure Processing to use Oracle JDK rather than its built-in Java. Oracle has a Linux ARM64 version. Would this solve the architecture mismatch problem?

---

<div class="post-metadata">

**Author:** ![kll](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/kll/32/964_2.png) [@kll](https://discourse.processing.org/u/kll)\
**Post date:** [December 16, 2019, 12:52pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/13 "2019-12-16T12:52:34Z")

</div>

on the other side,  
i downloaded  
processing-3.5.3-linux-armv6hf.tgz  
from [http://download.processing.org/](http://download.processing.org/)

and look inside and see  
/processing-3.5.3/java/lib/arm  
and NOT your

```auto
lib
    ├── aarch64

```

so what you really install???

---

<div class="post-metadata">

**Author:** ![mb668](https://avatars.discourse-cdn.com/v4/letter/m/c5a1d2/32.png) [@mb668](https://discourse.processing.org/u/mb668)\
**Post date:** [December 16, 2019, 12:54pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/14 "2019-12-16T12:54:46Z")

</div>

Based on @monkstone diagnosis a couple of comments back, it appears that there’s an architecture difference between your (32-bit) and my (64-bit) system. That explains the difference in tree structure.

---

<div class="post-metadata">

**Author:** ![kll](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/kll/32/964_2.png) [@kll](https://discourse.processing.org/u/kll)\
**Post date:** [December 16, 2019, 1:01pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/15 "2019-12-16T13:01:26Z")

</div>

i did not talk about my system,  
i only asked what file you download and installed  
and insofar your info is not consistent

* * *

other point might be that it is not that hardware and software have to catch up…  
there seems to be problem with oracle not supporting all.

---

<div class="post-metadata">

**Author:** ![mb668](https://avatars.discourse-cdn.com/v4/letter/m/c5a1d2/32.png) [@mb668](https://discourse.processing.org/u/mb668)\
**Post date:** [December 16, 2019, 1:09pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/16 "2019-12-16T13:09:02Z")

</div>

I will park this problem for the time being. The solution (if any) does not seem straightforward.

Thanks to everyone who replied.

---

<div class="post-metadata">

**Author:** ![monkstone](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/monkstone/32/64_2.png) [@monkstone](https://discourse.processing.org/u/monkstone)\
**Post date:** [December 16, 2019, 1:12pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/17 "2019-12-16T13:12:25Z")

</div>

Worth knowing about [https://archlinuxarm.org/about](https://archlinuxarm.org/about)

---

<div class="post-metadata">

**Author:** ![mb668](https://avatars.discourse-cdn.com/v4/letter/m/c5a1d2/32.png) [@mb668](https://discourse.processing.org/u/mb668)\
**Post date:** [December 16, 2019, 1:25pm UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/18 "2019-12-16T13:25:53Z")

</div>

Thanks for that. I’m currently running [Manjaro ARM](https://manjaro.org/download/arm/pinebook/arm8-pinebook-xfce/), based on Arch. I made a mess of an arch installation years ago and have not had the courage to return 🙂

As a 5+ year Debian user, I’m loving Manjaro … just wish I could run Processing on this new notebook.

---

<div class="post-metadata">

**Author:** ![monkstone](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/monkstone/32/64_2.png) [@monkstone](https://discourse.processing.org/u/monkstone)\
**Post date:** [May 12, 2020, 7:29am UTC](https://discourse.processing.org/t/is-oracle-jdk-required-for-processing-arm-to-run/16404/19 "2020-05-12T07:29:37Z")

</div>

@mb668 @kll Recently I had some success with 64 bit manjaro on [Experiments with 64 bit OS on RaspberryPI4](https://discourse.processing.org/t/experiments-with-64-bit-os-on-raspberrypi4/20628)
