waf configure seemed to complete fine, but the actual build fails
[389/950] cxx: libs/ardour/midi_ui.cc -> build/libs/ardour/midi_ui.cc.1.o
In file included from /home/pi/Ardour-5.12.0/libs/ardour/ardour/plugin.h:33,
from …/libs/ardour/ardour/session.h:72,
from …/libs/ardour/midi_track.cc:53:
/home/pi/Ardour-5.12.0/libs/ardour/ardour/cycles.h:221:2: warning: #warning You are compiling libardour on a platform for which ardour/cycles.h needs work [-Wcpp] #warning You are compiling libardour on a platform for which ardour/cycles.h needs work
^~~~~~~
In file included from /home/pi/Ardour-5.12.0/libs/ardour/ardour/plugin.h:33,
from …/libs/ardour/ardour/session.h:72,
from …/libs/ardour/midi_ui.cc:31:
/home/pi/Ardour-5.12.0/libs/ardour/ardour/cycles.h:221:2: warning: #warning You are compiling libardour on a platform for which ardour/cycles.h needs work [-Wcpp] #warning You are compiling libardour on a platform for which ardour/cycles.h needs work
^~~~~~~
In file included from /home/pi/Ardour-5.12.0/libs/pbd/pbd/properties.h:457,
from /home/pi/Ardour-5.12.0/libs/ardour/ardour/session_object.h:26,
from /home/pi/Ardour-5.12.0/libs/ardour/ardour/processor.h:32,
from …/libs/ardour/ardour/amp.h:26,
from …/libs/ardour/luabindings.cc:28:
/home/pi/Ardour-5.12.0/libs/pbd/pbd/property_basics_impl.h: In member function ‘bool PBD::PropertyChange::contains(PBD::PropertyDescriptor) const [with T = long long int]’:
/home/pi/Ardour-5.12.0/libs/pbd/pbd/property_basics_impl.h:40:1: note: parameter passing for argument of type ‘PBD::PropertyDescriptor’ changed in GCC 7.1
PropertyChange::contains (PropertyDescriptor p) const
^~~~~~~~~~~~~~
g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
I run Ardour on the NVIDIA Jetson Nano developer kit. The Jetson Nano uses Ubuntu 18.04 and 18.04 has a file of 'snap’s of various software items including Ardour. Ardour on Jetson Nano needed two changes to run well for me: 1st - getting the OS to run off a solid state drive (Samsung T500 in the case of the YouTube video: https://www.youtube.com/watch?v=7O7pUtQD9HI&t=18s); and then 2nd: adding a 6G ‘swap file’ (https://www.youtube.com/watch?v=JXv39FGi-nw) .
Don’t know if Raspberry Pi 4 Model B can run Ubuntu 18.04 or not, (don’t know why not, though) but if the two links are used, link 1 needs to be run before link 2. That’s because running a swap file (or a swap partition) on an SD card is not recommended. Also, link 1, in my own situation needed at least a 32G SD card, but that is probably because the Jetson Nano needs a lot of SD card space. Once ‘Run On USB’ has been done, then those limitations are gone, so link 1 should be done first.
There are links about running on USB with the Raspberry 4, so those might work for you. And there are cautions online against putting swap partitions on Raspberry 3s. But the link 2 is about adding a swap file, and - again - do not put any kind of swap on an SD card unless you don’t mind losing SD cards.
That vc4_firmware_kms messages seems rather seems unrelated. Maybe it is even a follow up error.
Wasn’t there an OOM killer message before then? some mention of killed process?
Compiling Ardour can require a lot of memory. You may easy it a bit by reducing concurrency, but the final linking step can easily require 2-3GB. I doubt a default RPi system can handle this. You could add a swap partition or use a swap file, perhaps even over network…
Anyway, why compile on the Pi itself? It’s not really a good platform for development. I suggest to cross compile for ARM, that’s likely also 10-100 times faster.
PS. that firmware-kms message might be interesting for Pi kernel hackers. It’s related to their graphics driver.