So let me first caveat this by saying, I’m not a coder, I’m a hardware engineer who can ‘hack code’
However I’m working with someone who is a coder and using JUCE.
I’m struggling to get the JUCE app to compile for the elkOS on the raspberry pi. I am using a virtualbox ubuntu machine to do the compiling (it just takes forever on the pi)

I’ve installed the elkOS dev kit, built ProJucer from the elk fork, installed the VST 24 SDK (yes agreement is in place) and I can open a test app (simple sinewave) in ProJucer and then ‘save’ it to create the make files. This where things go wrong.

I’ve followed the section under making the app for the pi and done these -

Package x11 was not found in the pkg-config search path.
Perhaps you should add the directory containing x11.pc' to the PKG_CONFIG_PATH environment variable No package 'x11' found Package xinerama was not found in the pkg-config search path. Perhaps you should add the directory containing xinerama.pc’
to the PKG_CONFIG_PATH environment variable
No package ‘xinerama’ found
Package xext was not found in the pkg-config search path.
Perhaps you should add the directory containing xext.pc' to the PKG_CONFIG_PATH environment variable No package 'xext' found Package webkit2gtk-4.0 was not found in the pkg-config search path. Perhaps you should add the directory containing webkit2gtk-4.0.pc’
to the PKG_CONFIG_PATH environment variable
No package ‘webkit2gtk-4.0’ found
Package gtk±x11-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk±x11-3.0.pc’
to the PKG_CONFIG_PATH environment variable
No package ‘gtk±x11-3.0’ found
make: *** No rule to make target ‘make’. Stop.

now, I thought this was to build a headless version? so I’m baffled why the makefile is referencing a bunch of X11 bits (here’s the content of the make file)

Package x11 was not found in the pkg-config search path.
Perhaps you should add the directory containing x11.pc' to the PKG_CONFIG_PATH environment variable No package 'x11' found Package xinerama was not found in the pkg-config search path. Perhaps you should add the directory containing xinerama.pc’
to the PKG_CONFIG_PATH environment variable
No package ‘xinerama’ found
Package xext was not found in the pkg-config search path.
Perhaps you should add the directory containing `xext.pc’
to the PKG_CONFIG_PATH environment variable
No package ‘xext’ found
make: *** No rule to make target ‘make’. Stop.

So, I think I’m winning…
There is a module called “Juce_Graphics”, but if I remove that a number of things complain So I’ll have to speak with my coding partner.

I followed all the instructions at elkpi-sdk-master in running_docker_container_on_macos.md. I got the JUCE fork from elk-audio/JUCE. I compiled the Xcode project then the app. I run the app, about reports v5.4.5. I checked out elk-audio/elk-examples. I double checked all the settings required. In addition to that, I unchecked Create Local Copy as suggested above in this post.

I went to Docker Quickstart Terminal and opened window. I followed all instructions for MacOs. When I connect in finder via Samba the Guest credentials did not work. I copied the project files to the docker container however like this:
docker cp foo.txt mycontainer:/foo.txt
docker cp mycontainer:/foo.txt foo.txt

After copying the JUCE source files to the docker container, going to the linux build folder, I get these errors when entering make:

sdkuser@669c56454d73:/workdir/code/elk_juce_example/Builds/LinuxMakefile$ AR=arm-elk-linux-gnueabi-ar make -j`nproc` CONFIG=Release CFLAGS="-DJUCE_HEADLESS_PLUGIN_CLIENT=1" TARGET_ARCH="-mcpu=cortex-a53 -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard"
Package x11 was not found in the pkg-config search path.
Perhaps you should add the directory containing `x11.pc'
to the PKG_CONFIG_PATH environment variable
No package 'x11' found
Package xinerama was not found in the pkg-config search path.
Perhaps you should add the directory containing `xinerama.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xinerama' found
Package xext was not found in the pkg-config search path.
Perhaps you should add the directory containing `xext.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xext' found
Compiling include_juce_audio_plugin_client_VST2.cpp
In file included from **../../JuceLibraryCode/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:36** ,
from **../../JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp:27** ,
from **../../JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp:9** :
**../../JuceLibraryCode/modules/juce_audio_plugin_client/VST/../utility/juce_IncludeSystemHeaders.h:44:11:** **fatal error:** X11/Xlib.h: No such file or directory
#include **<X11/Xlib.h>**
**^~~~~~~~~~~~**
compilation terminated.
Makefile:151: recipe for target 'build/intermediate/Release/include_juce_audio_plugin_client_VST2_dd551e08.o' failed
make: *** [build/intermediate/Release/include_juce_audio_plugin_client_VST2_dd551e08.o] Error 1
sdkuser@669c56454d73:/workdir/code/elk_juce_example/Builds/LinuxMakefile$

Things I will try: compile on the ElkPi board, try a VST3 without JUCE.