Elk-JUCE-RPi Toolchain

Hey all,

I’m having some trouble with getting the toolchain setup to compile JUCE plugins.

I’m on a Linux machine (Linux Mint).

Initially, I tried following the instructions laid out here. However, it seems that when compiling, juceaide uses the wrong compiler (seems to be using /usr/bin/c++ instead of the compiler included in the toolchain).

This results in these errors:

/usr/bin/ld: /opt/elk/1.0.0/sysroots/cortexa72-elk-linux/usr/lib/Scrt1.o: Relocations in generic ELF (EM: 183)
/usr/bin/ld: /opt/elk/1.0.0/sysroots/cortexa72-elk-linux/usr/lib/Scrt1.o: error adding symbols: file in wrong format

I found a post which describes a similar issue, with the suggested solution being to use Docker and extsdk.
I was able to get Docker and extsdk setup - however, i then ran into another issue, again when compiling juceaide:

fatal error: bits/timesize-32.h: No such file or directory

It seems juceaide is trying to build for 32-bit, which is of course not supported by the elk OS toolchain.

At this point, I’m a little stumped - I can’t seem to find a way to force juceaide to skip building for 32bit, or why its even doing that in the first place.
Ideally, the docker setup could be skipped entirely.

I’ve tried JUCE 6.1.6, as well as JUCE 7.0.10, but neither has helped.

If anyone has run into any of these issues, I’d love to know how you got things working!

Thanks

  • August

just in case anyone stumbles across this - I was able to fix this by following the instructions here - specifically patching JUCE to remove these three lines from the juceaide CMakeLists.txt:

- unset(ENV{ASM})
- unset(ENV{CC})
- unset(ENV{CXX})

Great you fixed it. We’re working on a smoother way of x-compiling with JUCE. The main issue being that juceaide is a build helper app (some stuff that could be handled by cmake is offloaded to juceaide) so it should be built for the native arch, not x-compiled. But the JUCE cmake is not handling this very well.

2 Likes