hexdump0815 / rack-dockerbuild-v2

docker based build based on the rack v2 sources on armv7l and aarch64 on debian bookworm
6 stars 0 forks source link

some questions regarding building on rpi5 #3

Open jpnielsen opened 1 month ago

jpnielsen commented 1 month ago

Hello,

I tried builing your rack-dockerbuild-v2 on a Raspbberry pi 5 (with 1TB nvme m.2 storage).

for some reason, the build stops in the /compile/build-modules.sh and doesn't exit to shell.

this is the last output:

=== Volume1 ===

make: Nothing to be done for 'dep'.
g++ -std=c++11 -Wsuggest-override  -fPIC -I/compile/Rack/include -I/compile/Rack/dep/include -fno-gnu-unique -MMD -MP -g -O3 -funsafe-math-optimizations -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -DARCH_ARM64 -march=armv8-a -mtune=cortex-a53 -DSIMDE_ENABLE_NATIVE_ALIASES -DARCH_LIN  -c -o build/src/GraphData.cpp.o src/GraphData.cpp
In file included from /compile/Rack/include/simd/Vector.hpp:3,
                 from /compile/Rack/include/simd/functions.hpp:2,
                 from /compile/Rack/include/dsp/common.hpp:4,
                 from /compile/Rack/include/rack.hpp:110,
                 from src/GraphData.hpp:2,
                 from src/GraphData.cpp:1:
/compile/Rack/include/simd/common.hpp:6: warning: "SIMDE_ENABLE_NATIVE_ALIASES" redefined
    6 |         #define SIMDE_ENABLE_NATIVE_ALIASES
      |
<command-line>: note: this is the location of the previous definition
In file included from /compile/Rack/include/rack.hpp:123:
/compile/Rack/include/dsp/convert.hpp:17:1: warning: 'gcc_struct' attribute directive ignored [-Wattributes]
   17 | Int24 {
      | ^~~~~

if i break (ctrl-c) it,

make: *** [/compile/Rack/compile.mk:87: build/src/GraphData.cpp.o] Interrupt

also, I don't know much about it, but seems your tune options are for RPI3 ?

grep mtune *

AriaModules.armv7l.patch:+$(quickjs): DEP_CFLAGS := $(filter-out -march=armv7 -mtune=cortex-a9 -mfpu=neon -mno-unaligned-access,$(CFLAGS))
Rack.aarch64.patch:+    FLAGS += -march=armv8-a -mtune=cortex-a53 -DSIMDE_ENABLE_NATIVE_ALIASES
Rack.aarch64.patch:+    DEP_FLAGS += -march=armv8-a -mtune=cortex-a53 -DSIMDE_ENABLE_NATIVE_ALIASES
Rack.armv7l.patch:+     FLAGS += -march=armv7 -mtune=cortex-a9 -mfpu=neon -mno-unaligned-access -DSIMDE_ENABLE_NATIVE_ALIASES
Rack.armv7l.patch:+     DEP_FLAGS += -march=armv7 -mtune=cortex-a9 -mfpu=neon -mno-unaligned-access -DSIMDE_ENABLE_NATIVE_ALIASES
SurgeXTRack.aarch64.patch:+add_compile_options(-march=armv8-a -mtune=cortex-a53 -DSIMDE_ENABLE_NATIVE_ALIASES)
SurgeXTRack.armv7l.patch:+add_compile_options(-march=armv7 -mtune=cortex-a9 -mfpu=neon -mno-unaligned-access -DSIMDE_ENABLE_NATIVE_ALIASES)
VCV-Prototype.armv7l.patch:+$(quickjs): DEP_CFLAGS := $(filter-out -march=armv7 -mtune=cortex-a9 -mfpu=neon -mno-unaligned-access,$(CFLAGS))
VCV-Prototype.armv7l.patch:+$(luajit): DEP_CFLAGS := $(filter-out -march=armv7 -mtune=cortex-a9 -mfpu=neon -mno-unaligned-access,$(CFLAGS))
VCV-Recorder.armv7l.patch:+     cd ffmpeg && PKG_CONFIG_PATH="$(DEP_PATH)/lib/pkgconfig" CPPFLAGS="-march=armv7 -mtune=cortex-a9 -mfpu=neon -mno-unaligned-access -DSIMDE_ENABLE_NATIVE_ALIASES" ./configure \

should these be changed for RPI5 ? (cortex-a78) I also have RPI 4 (cortex-a76) - offcause I'd appreciate optimized builds for both machines.

hexdump0815 commented 1 month ago

@jpnielsen - this one is very hard for the compiler - it might simply take hours to compile - on my (also slower) 32bit armv7l system it even takes more than a day to compile ... just be patient and let it run and it should move on at some point :)

btw. there might also be build errors here and there for some modules due to source changes - i usually let it run through once completely and then run the build script again to see where it fails and try to fix the issues (which might need some debugging and websearch at times).

good luck and best wishes - hexdump

jpnielsen commented 1 month ago

Thank you.

I tried on a fresh git pull. The plugin build succeded this time. I changed your script to pull v2.5.2 of rack - but the rack build script (patching) failed on that. I got it running after a manual "make dep && make" in the Rack dir.

image

I haven't done much testing yet - but it looks promising.

hexdump0815 commented 1 month ago

i see you use the vnc viewer - i'm not sure if the gpu is used for graphics accel in that case, so you might use a lot of cpu for gpu software emulation (xorg or llvmpipe eating a lot of cpu) ... there are ways around that, but they are not easy - or you use rack in headless mode if you need more cpu for rack in such cases

oh wait - rpi5 is most probably wayland-vnc - maybe gpu is used properly in that case ...