Hi Guys,
How is this meant to work if you are cross compiling?
Is there a clever trick I am not aware of?
Cheers
Andy
Hi Guys,
How is this meant to work if you are cross compiling?
Is there a clever trick I am not aware of?
Cheers
Andy
Hello!
I am currently bumping into the same issue on a Debian host with a multiarch setup. I’m targeting aarch64.
From what I understand, when cross-compiling, juce_lv2_helper is built twice, once native and once for the target architecture. If you have binfmt_misc enabled through QEMU for aarch64, it will happily just run the aarch64 version during the last build steps. As I’ve just found out as I type, one must also ensure that the lv2 helper target is built.
There’s a tiny nit that I can’t quite explain though, starting from a fresh clone and running the commands below will not work for aarch64 cross.
For native, cmake prefixes the lv2 helper custom command with ./ to run it from the cwd but not for aarch64… I added it manually so that line 996 looks like:
COMMAND ./juce_lv2_helper "$<TARGET_FILE:${target_name}>"
Starting with the cmake examples, here’s how I build:
$ cmake . -B cmake-build-aarch64 -DJUCE_BUILD_EXAMPLES=ON \
-DCMAKE_TOOLCHAIN_FILE=aarch64toolchain.cmake
$ VERBOSE=1 cmake --build cmake-build-aarch64 \
--target juce_lv2_helper SamplerPlugin_LV2 --parallel 16
I will update this post as I move towards the end goal: cross-compiling Surge XT in LV2 format! ![]()