Compiling for Raspberry Pi 4

Hi,
I tried to compile Flucoma from source onto a Raspberry Pi 4 8gb, and ran into issues during “make install”. Maybe Flucoma does not support Raspberry Pi but they do support ARM, so I wanted to try it out.

[EDIT] I am running Rasbian 11, Bullseye. This is a 32 bit operating system, so maybe that is the issue…

My compile flags were set to the following:

-DSC_PATH=/home/anony/src/supercollider -march=armv8-a -mfloat-abi=hard -mfpu=neon-fp-armv8 ..

These compile flags were pulled from suggested Pi 4 flags listed here.

The bash log is printed below. It crashes first during hisstools compile.

anony@raspberrypi:~/src/flucoma-sc-1.0.4/build $ make install
Scanning dependencies of target flucoma_VERSION_LIB
[  1%] Building CXX object _deps/flucoma-core-build/CMakeFiles/flucoma_VERSION_LIB.dir/FluidVersion.cpp.o
[  2%] Linking CXX static library libflucoma_VERSION_LIB.a
[  2%] Built target flucoma_VERSION_LIB
Scanning dependencies of target FLUID_SC_COPYREPLYADDR
[  2%] Building CXX object CMakeFiles/FLUID_SC_COPYREPLYADDR.dir/include/wrapper/CopyReplyAddress.cpp.o
[  3%] Building CXX object CMakeFiles/FLUID_SC_COPYREPLYADDR.dir/home/anony/src/supercollider/common/SC_Reply.cpp.o
[  4%] Building CXX object CMakeFiles/FLUID_SC_COPYREPLYADDR.dir/home/anony/src/supercollider/external_libraries/boost/libs/system/src/error_code.cpp.o
[  5%] Linking CXX static library libFLUID_SC_COPYREPLYADDR.a
[  5%] Built target FLUID_SC_COPYREPLYADDR
Scanning dependencies of target HISSTools_FFT
[  5%] Building CXX object _deps/flucoma-core-build/CMakeFiles/HISSTools_FFT.dir/__/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp.o
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h: In function ‘void hisstools_fft_impl::shuffle4(const hisstools_fft_impl::Vector4x<T, vec_size>&, const hisstools_fft_impl::Vector4x<T, vec_size>&, const hisstools_fft_impl::Vector4x<T, vec_size>&, const hisstools_fft_impl::Vector4x<T, vec_size>&, hisstools_fft_impl::Vector4x<T, vec_size>*, hisstools_fft_impl::Vector4x<T, vec_size>*, hisstools_fft_impl::Vector4x<T, vec_size>*, hisstools_fft_impl::Vector4x<T, vec_size>*) [with T = float; int vec_size = 4]’:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7350:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_low_f32(float32x4_t)’: target specific option mismatch
 7350 | vget_low_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:611:44: note: called from here
  611 |         const float32x4_t v1 = vcombine_f32( vget_low_f32(A.mData[0].mVal),  vget_low_f32(C.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7350:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_low_f32(float32x4_t)’: target specific option mismatch
 7350 | vget_low_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:611:44: note: called from here
  611 |         const float32x4_t v1 = vcombine_f32( vget_low_f32(A.mData[0].mVal),  vget_low_f32(C.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7175:1: error: inlining failed in call to ‘always_inline’ ‘float32x4_t vcombine_f32(float32x2_t, float32x2_t)’: target specific option mismatch
 7175 | vcombine_f32 (float32x2_t __a, float32x2_t __b)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:611:44: note: called from here
  611 |         const float32x4_t v1 = vcombine_f32( vget_low_f32(A.mData[0].mVal),  vget_low_f32(C.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7271:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_high_f32(float32x4_t)’: target specific option mismatch
 7271 | vget_high_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:612:44: note: called from here
  612 |         const float32x4_t v2 = vcombine_f32(vget_high_f32(A.mData[0].mVal), vget_high_f32(C.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7271:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_high_f32(float32x4_t)’: target specific option mismatch
 7271 | vget_high_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:612:44: note: called from here
  612 |         const float32x4_t v2 = vcombine_f32(vget_high_f32(A.mData[0].mVal), vget_high_f32(C.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7175:1: error: inlining failed in call to ‘always_inline’ ‘float32x4_t vcombine_f32(float32x2_t, float32x2_t)’: target specific option mismatch
 7175 | vcombine_f32 (float32x2_t __a, float32x2_t __b)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:612:44: note: called from here
  612 |         const float32x4_t v2 = vcombine_f32(vget_high_f32(A.mData[0].mVal), vget_high_f32(C.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7350:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_low_f32(float32x4_t)’: target specific option mismatch
 7350 | vget_low_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:613:44: note: called from here
  613 |         const float32x4_t v3 = vcombine_f32( vget_low_f32(B.mData[0].mVal),  vget_low_f32(D.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7350:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_low_f32(float32x4_t)’: target specific option mismatch
 7350 | vget_low_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:613:44: note: called from here
  613 |         const float32x4_t v3 = vcombine_f32( vget_low_f32(B.mData[0].mVal),  vget_low_f32(D.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7175:1: error: inlining failed in call to ‘always_inline’ ‘float32x4_t vcombine_f32(float32x2_t, float32x2_t)’: target specific option mismatch
 7175 | vcombine_f32 (float32x2_t __a, float32x2_t __b)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:613:44: note: called from here
  613 |         const float32x4_t v3 = vcombine_f32( vget_low_f32(B.mData[0].mVal),  vget_low_f32(D.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7271:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_high_f32(float32x4_t)’: target specific option mismatch
 7271 | vget_high_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:614:44: note: called from here
  614 |         const float32x4_t v4 = vcombine_f32(vget_high_f32(B.mData[0].mVal), vget_high_f32(D.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7271:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_high_f32(float32x4_t)’: target specific option mismatch
 7271 | vget_high_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:614:44: note: called from here
  614 |         const float32x4_t v4 = vcombine_f32(vget_high_f32(B.mData[0].mVal), vget_high_f32(D.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7175:1: error: inlining failed in call to ‘always_inline’ ‘float32x4_t vcombine_f32(float32x2_t, float32x2_t)’: target specific option mismatch
 7175 | vcombine_f32 (float32x2_t __a, float32x2_t __b)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:614:44: note: called from here
  614 |         const float32x4_t v4 = vcombine_f32(vget_high_f32(B.mData[0].mVal), vget_high_f32(D.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:10147:1: error: inlining failed in call to ‘always_inline’ ‘float32x4x2_t vuzpq_f32(float32x4_t, float32x4_t)’: target specific option mismatch
10147 | vuzpq_f32 (float32x4_t __a, float32x4_t __b)
      | ^~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:617:50: note: called from here
  617 |         const float32x4x2_t v6 = vuzpq_f32(v2, v4);
      |                                                  ^
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:10147:1: error: inlining failed in call to ‘always_inline’ ‘float32x4x2_t vuzpq_f32(float32x4_t, float32x4_t)’: target specific option mismatch
10147 | vuzpq_f32 (float32x4_t __a, float32x4_t __b)
      | ^~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:616:50: note: called from here
  616 |         const float32x4x2_t v5 = vuzpq_f32(v1, v3);
      |                                                  ^
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7350:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_low_f32(float32x4_t)’: target specific option mismatch
 7350 | vget_low_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:611:44: note: called from here
  611 |         const float32x4_t v1 = vcombine_f32( vget_low_f32(A.mData[0].mVal),  vget_low_f32(C.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7350:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_low_f32(float32x4_t)’: target specific option mismatch
 7350 | vget_low_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:611:44: note: called from here
  611 |         const float32x4_t v1 = vcombine_f32( vget_low_f32(A.mData[0].mVal),  vget_low_f32(C.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7175:1: error: inlining failed in call to ‘always_inline’ ‘float32x4_t vcombine_f32(float32x2_t, float32x2_t)’: target specific option mismatch
 7175 | vcombine_f32 (float32x2_t __a, float32x2_t __b)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:611:44: note: called from here
  611 |         const float32x4_t v1 = vcombine_f32( vget_low_f32(A.mData[0].mVal),  vget_low_f32(C.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7271:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_high_f32(float32x4_t)’: target specific option mismatch
 7271 | vget_high_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:612:44: note: called from here
  612 |         const float32x4_t v2 = vcombine_f32(vget_high_f32(A.mData[0].mVal), vget_high_f32(C.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7271:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_high_f32(float32x4_t)’: target specific option mismatch
 7271 | vget_high_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:612:44: note: called from here
  612 |         const float32x4_t v2 = vcombine_f32(vget_high_f32(A.mData[0].mVal), vget_high_f32(C.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7175:1: error: inlining failed in call to ‘always_inline’ ‘float32x4_t vcombine_f32(float32x2_t, float32x2_t)’: target specific option mismatch
 7175 | vcombine_f32 (float32x2_t __a, float32x2_t __b)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:612:44: note: called from here
  612 |         const float32x4_t v2 = vcombine_f32(vget_high_f32(A.mData[0].mVal), vget_high_f32(C.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7350:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_low_f32(float32x4_t)’: target specific option mismatch
 7350 | vget_low_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:613:44: note: called from here
  613 |         const float32x4_t v3 = vcombine_f32( vget_low_f32(B.mData[0].mVal),  vget_low_f32(D.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7350:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_low_f32(float32x4_t)’: target specific option mismatch
 7350 | vget_low_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:613:44: note: called from here
  613 |         const float32x4_t v3 = vcombine_f32( vget_low_f32(B.mData[0].mVal),  vget_low_f32(D.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7175:1: error: inlining failed in call to ‘always_inline’ ‘float32x4_t vcombine_f32(float32x2_t, float32x2_t)’: target specific option mismatch
 7175 | vcombine_f32 (float32x2_t __a, float32x2_t __b)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:613:44: note: called from here
  613 |         const float32x4_t v3 = vcombine_f32( vget_low_f32(B.mData[0].mVal),  vget_low_f32(D.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7271:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_high_f32(float32x4_t)’: target specific option mismatch
 7271 | vget_high_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:614:44: note: called from here
  614 |         const float32x4_t v4 = vcombine_f32(vget_high_f32(B.mData[0].mVal), vget_high_f32(D.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7271:1: error: inlining failed in call to ‘always_inline’ ‘float32x2_t vget_high_f32(float32x4_t)’: target specific option mismatch
 7271 | vget_high_f32 (float32x4_t __a)
      | ^~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:614:44: note: called from here
  614 |         const float32x4_t v4 = vcombine_f32(vget_high_f32(B.mData[0].mVal), vget_high_f32(D.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7175:1: error: inlining failed in call to ‘always_inline’ ‘float32x4_t vcombine_f32(float32x2_t, float32x2_t)’: target specific option mismatch
 7175 | vcombine_f32 (float32x2_t __a, float32x2_t __b)
      | ^~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:614:44: note: called from here
  614 |         const float32x4_t v4 = vcombine_f32(vget_high_f32(B.mData[0].mVal), vget_high_f32(D.mData[0].mVal));
      |                                ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:10147:1: error: inlining failed in call to ‘always_inline’ ‘float32x4x2_t vuzpq_f32(float32x4_t, float32x4_t)’: target specific option mismatch
10147 | vuzpq_f32 (float32x4_t __a, float32x4_t __b)
      | ^~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:617:50: note: called from here
  617 |         const float32x4x2_t v6 = vuzpq_f32(v2, v4);
      |                                                  ^
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:9,
                 from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:10147:1: error: inlining failed in call to ‘always_inline’ ‘float32x4x2_t vuzpq_f32(float32x4_t, float32x4_t)’: target specific option mismatch
10147 | vuzpq_f32 (float32x4_t __a, float32x4_t __b)
      | ^~~~~~~~~
In file included from /home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc-1.0.4/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:616:50: note: called from here
  616 |         const float32x4x2_t v5 = vuzpq_f32(v1, v3);
      |                                                  ^
make[2]: *** [_deps/flucoma-core-build/CMakeFiles/HISSTools_FFT.dir/build.make:82: _deps/flucoma-core-build/CMakeFiles/HISSTools_FFT.dir/__/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1963: _deps/flucoma-core-build/CMakeFiles/HISSTools_FFT.dir/all] Error 2

I have also tried the default ARM flags presented on Flucoma github, with the same result:

-march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon

I thank you in advance for any help and suggestions.

Hi @broccolistem and welcome,

Yes, this will be a ARM + 32bit thing, I think. The problem is with one of our dependencies that uses intrinsics. Alex, the author of that dependency has already updated his code to build for 32-bit on ARM but I haven’t yet updated our stuff to use the updated version. If you’re happy enough making some changes to the CMake, I can take you through what to do to use the new stuff.

1 Like

Hiya @weefuzzy,
Thanks for confirming the issue!
I appreciate your offer to assist in modifying the Cmake list.
But I’ve discovered the Raspi folks now have an official non-beta release of a 64 bit OS.
I will be back in my studio with the Pi within a week or so, and will try first building on this 64 bit OS.
And I will report back here with results once I’ve had the chance. Hopefully Jack, SC, Reaper & my GPIO DAC/ADC all work with that too. If not… adjusting the Cmake list will be worth doing:))
Thanks again, more to come.
Broccoli

No worries – good luck with the 64 bit build. I’ve now updated the HISSTools version for our builds, so the latest nightlies should be 32-bit friendly, should it be needed.

2 Likes

Hiya @weefuzzy
Thanks for making an update to the dev-branch.
On my side, with the 64 bit OS, cmake didn’t throw any errors, but I am receiving this error with ‘make install’—something else related to Hisstools, it appears. Any thoughts? Thanks for your help.

anony@raspberrypi:~/src/flucoma-sc/build $ sudo make install
Scanning dependencies of target flucoma_VERSION_LIB
[  1%] Building CXX object _deps/flucoma-core-build/CMakeFiles/flucoma_VERSION_LIB.dir/FluidVersion.cpp.o
[  2%] Linking CXX static library libflucoma_VERSION_LIB.a
[  2%] Built target flucoma_VERSION_LIB
Scanning dependencies of target FLUID_SC_COPYREPLYADDR
[  2%] Building CXX object CMakeFiles/FLUID_SC_COPYREPLYADDR.dir/include/wrapper/CopyReplyAddress.cpp.o
[  3%] Building CXX object CMakeFiles/FLUID_SC_COPYREPLYADDR.dir/home/anony/src/supercollider/common/SC_Reply.cpp.o
[  4%] Building CXX object CMakeFiles/FLUID_SC_COPYREPLYADDR.dir/home/anony/src/supercollider/external_libraries/boost/libs/system/src/error_code.cpp.o
[  5%] Linking CXX static library libFLUID_SC_COPYREPLYADDR.a
[  5%] Built target FLUID_SC_COPYREPLYADDR
Scanning dependencies of target HISSTools_FFT
[  5%] Building CXX object _deps/flucoma-core-build/CMakeFiles/HISSTools_FFT.dir/__/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp.o
In file included from /home/anony/src/flucoma-sc/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp:3:
/home/anony/src/flucoma-sc/build/_deps/hisstools-src/HISSTools_FFT/HISSTools_FFT_Core.h:16:10: fatal error: emmintrin.h: No such file or directory
   16 | #include <emmintrin.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
make[2]: *** [_deps/flucoma-core-build/CMakeFiles/HISSTools_FFT.dir/build.make:82: _deps/flucoma-core-build/CMakeFiles/HISSTools_FFT.dir/__/hisstools-src/HISSTools_FFT/HISSTools_FFT.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1963: _deps/flucoma-core-build/CMakeFiles/HISSTools_FFT.dir/all] Error 2
make: *** [Makefile:149: all] Error 2

That means it’s still reaching for Intel instructions, not ARM. Which makes me realise I omitted an important piece of information (sorry).

If you’re cloning from Github, which is that you need to be on the dev branch, rather than main. If you didn’t clone, but are just using the source.zip from Github, you’ll need to clone, I think (because the source.zip strips all the git stuff out). So, in your src folder, try:

git clone https://github.com/flucoma/flucoma-sc.git
git checkout dev 
mkdir build && cd build 
export CXXFLAGS="-march=armv8-a -mfloat-abi=hard -mfpu=neon-fp-armv8" 
cmake -DSC_PATH=/home/anony/src/supercollider -DFLUID_BRANCH=dev ..
make install

The configure step will take a little while longer, but it should pull in the correct components now…

Thank you for helping to walk me through this @weefuzzy
This is my latest error, following your commands,

-- The CXX compiler identification is GNU 10.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ - broken
CMake Error at /usr/share/cmake-3.18/Modules/CMakeTestCXXCompiler.cmake:59 (message):
  The C++ compiler

    "/usr/bin/c++"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /home/anony/src/flucoma-sc/build/CMakeFiles/CMakeTmp
    
    Run Build Command(s):/usr/bin/gmake cmTC_c25e2/fast && /usr/bin/gmake  -f CMakeFiles/cmTC_c25e2.dir/build.make CMakeFiles/cmTC_c25e2.dir/build
    gmake[1]: Entering directory '/home/anony/src/flucoma-sc/build/CMakeFiles/CMakeTmp'
    Building CXX object CMakeFiles/cmTC_c25e2.dir/testCXXCompiler.cxx.o
    /usr/bin/c++   -march=armv8-a -mfloat-abi=hard -mfpu=neon-fp-armv8  -fPIE -std=c++17 -o CMakeFiles/cmTC_c25e2.dir/testCXXCompiler.cxx.o -c /home/anony/src/flucoma-sc/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
    c++: error: unrecognized command-line option ‘-mfloat-abi=hard’
    c++: error: unrecognized command-line option ‘-mfpu=neon-fp-armv8’
    gmake[1]: *** [CMakeFiles/cmTC_c25e2.dir/build.make:85: CMakeFiles/cmTC_c25e2.dir/testCXXCompiler.cxx.o] Error 1
    gmake[1]: Leaving directory '/home/anony/src/flucoma-sc/build/CMakeFiles/CMakeTmp'
    gmake: *** [Makefile:140: cmTC_c25e2/fast] Error 2
    
    

  

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:41 (project)


-- Configuring incomplete, errors occurred!
See also "/home/anony/src/flucoma-sc/build/CMakeFiles/CMakeOutput.log".
See also "/home/anony/src/flucoma-sc/build/CMakeFiles/CMakeError.log".

Any idea where I should look next? Sorry to bug.
Broccoli

Huh. That’s one of those very puzzling errors. I’m assuming this is GCC, right? If you do

/usr/bin/c++ --version 

It gives you something GCCish. So, this line worries me particularly:

-- Detecting CXX compiler ABI info - failed

Because that shouldn’t happen, AFAIK. If you delete the file CMakeCache from your build folder and unset the CXXFLAGS before trying CMake again, is it happier?
(going by a process of elimination here…)

rm CMakeCache.txt
unset CXXFLAGS
cmake -DSC_PATH=/home/anony/src/supercollider -DFLUID_BRANCH=dev ..

Whilst we’re at it, we can see if armv8-a is right or not

uname -m

Some additional Googling suggests that those fpu / floating point options might indeed not be valid on ARM 64.

Running

gcc -c -Q -mcpu=native --help=target

might shed some light on what options are optimal / permissible. And, if you’re just building for that particular machine, -mcpu=native might just be the quickest way of getting the right magic options anyway.

[EDIT] I left cmake running overnight and just noticed your followup message…off to try that…

Hi @weefuzzy

If you do
/usr/bin/c++ --version

I get …

$ /usr/bin/c++ --version

c++ (Debian 10.2.1-6) 10.2.1 20210110

Whilst we’re at it, we can see if armv8-a is right or not
uname -m

I get…

$ uname -m
aarch64

And…

cmake -DSC_PATH=/home/anony/src/supercollider -DFLUID_BRANCH=dev …

This is working!

But “sudo make install” results, eventually, in…

In file included from /home/anony/src/flucoma-sc/build/_deps/flucoma-docs-build/generated_sources/DumpParams.cpp:69:
/home/anony/src/flucoma-sc/build/_deps/flucoma-core-src/include/clients/nrt/KMeansClient.hpp: In member function ‘fluid::client::MessageResult<fluid::FluidTensor<long int, 1> > fluid::client::kmeans::KMeansClient::predict(fluid::client::InputDataSetClientRef, fluid::client::LabelSetClientRef) const’:
/home/anony/src/flucoma-sc/build/_deps/flucoma-core-src/include/clients/nrt/KMeansClient.hpp:128:22: warning: ‘minK’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  128 |       assignments(i) = mAlgorithm.vq(query);
      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/anony/src/flucoma-sc/build/_deps/flucoma-docs-build/generated_sources/DumpParams.cpp:70:
/home/anony/src/flucoma-sc/build/_deps/flucoma-core-src/include/clients/nrt/SKMeansClient.hpp: In member function ‘fluid::client::MessageResult<fluid::FluidTensor<long int, 1> > fluid::client::skmeans::SKMeansClient::predict(fluid::client::DataSetClientRef, fluid::client::LabelSetClientRef) const’:
/home/anony/src/flucoma-sc/build/_deps/flucoma-core-src/include/clients/nrt/SKMeansClient.hpp:130:22: warning: ‘minK’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  130 |       assignments(i) = mAlgorithm.vq(query);
      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-c++11-narrowing’ may have been intended to silence earlier diagnostics
[ 39%] Linking CXX executable DumpParams
[ 39%] Built target DumpParams
Scanning dependencies of target MAKE_SC_REF
[ 40%] Making SC docs
Traceback (most recent call last):
  File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/anony/src/flucoma-sc/build/_deps/flucoma-docs-src/flucoma/MakeRef.py", line 16, in <module>
    from flucoma.doc import render
  File "/home/anony/src/flucoma-sc/build/_deps/flucoma-docs-src/flucoma/doc/render.py", line 18, in <module>
    from flucoma.doc.rst.html import no_rst_filter
  File "/home/anony/src/flucoma-sc/build/_deps/flucoma-docs-src/flucoma/doc/rst/html.py", line 19, in <module>
    from jinja2 import pass_context
ImportError: cannot import name 'pass_context' from 'jinja2' (/usr/lib/python3/dist-packages/jinja2/__init__.py)
make[2]: *** [CMakeFiles/MAKE_SC_REF.dir/build.make:78: CMakeFiles/MAKE_SC_REF] Error 1
make[1]: *** [CMakeFiles/Makefile2:1054: CMakeFiles/MAKE_SC_REF.dir/all] Error 2
make: *** [Makefile:149: all] Error 2

What do you think?
Sorry for the problems and thanks again for your help :slight_smile:
Broccoli

Continuing this thread, after just noticing your followup post…

gcc -c -Q -mcpu=native --help=target

This returns…

The following options are target specific:
  -mabi=                      		lp64
  -march=                     		armv8-a
  -mbig-endian                		[disabled]
  -mbionic                    		[disabled]
  -mbranch-protection=        		
  -mcmodel=                   		small
  -mcpu=                      		cortex-a72
  -mfix-cortex-a53-835769     		[enabled]
  -mfix-cortex-a53-843419     		[enabled]
  -mgeneral-regs-only         		[disabled]
  -mglibc                     		[enabled]
  -mharden-sls=               		
  -mlittle-endian             		[enabled]
  -mlow-precision-div         		[disabled]
  -mlow-precision-recip-sqrt  		[disabled]
  -mlow-precision-sqrt        		[disabled]
  -mmusl                      		[disabled]
  -momit-leaf-frame-pointer   		[enabled]
  -moutline-atomics           		[enabled]
  -moverride=<string>         		
  -mpc-relative-literal-loads 		[enabled]
  -msign-return-address=      		none
  -mstack-protector-guard-offset= 	
  -mstack-protector-guard-reg= 		
  -mstack-protector-guard=    		global
  -mstrict-align              		[disabled]
  -msve-vector-bits=<number>  		scalable
  -mtls-dialect=              		desc
  -mtls-size=                 		24
  -mtrack-speculation         		[disabled]
  -mtune=                     		cortex-a72
  -muclibc                    		[disabled]
  -mverbose-cost-dump         		[disabled]

  Known AArch64 ABIs (for use with the -mabi= option):
    ilp32 lp64

  Supported AArch64 return address signing scope (for use with -msign-return-address= option):
    all non-leaf none

  The code model option names for -mcmodel:
    large small tiny

  Valid arguments to -mstack-protector-guard=:
    global sysreg

  The possible SVE vector lengths:
    1024 128 2048 256 512 scalable

  The possible TLS dialects:
    desc trad

and again with your suggested updated cmake command…

cmake -DSC_PATH=/home/anony/src/supercollider -DFLUID_BRANCH=dev -mcpu=native …

That works. Then: “sudo make install”, results eventually again in…

                                                    ^~~~~~~~~~~
[ 38%] Linking CXX shared module ../release-packaging/Plugins/FluidBufOnsetFeature.so
[ 38%] Built target FluidBufOnsetFeature
[ 39%] Built target DumpParams
Scanning dependencies of target MAKE_SC_REF
[ 40%] Making SC docs
Traceback (most recent call last):
  File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/anony/src/flucoma-sc/build/_deps/flucoma-docs-src/flucoma/MakeRef.py", line 16, in <module>
    from flucoma.doc import render
  File "/home/anony/src/flucoma-sc/build/_deps/flucoma-docs-src/flucoma/doc/render.py", line 18, in <module>
    from flucoma.doc.rst.html import no_rst_filter
  File "/home/anony/src/flucoma-sc/build/_deps/flucoma-docs-src/flucoma/doc/rst/html.py", line 19, in <module>
    from jinja2 import pass_context
ImportError: cannot import name 'pass_context' from 'jinja2' (/usr/lib/python3/dist-packages/jinja2/__init__.py)
make[2]: *** [CMakeFiles/MAKE_SC_REF.dir/build.make:78: CMakeFiles/MAKE_SC_REF] Error 1
make[1]: *** [CMakeFiles/Makefile2:1054: CMakeFiles/MAKE_SC_REF.dir/all] Error 2
make: *** [Makefile:149: all] Error 2

Thank you @weefuzzy
Broccoli

Ok, that’s better than it seems: we’ve made it to python problems in the documentation generating code. The C++ appears to be happier (interesting to see that there are no -mfpu or similar options on arm8).

So, two choices to get the docs: (1) we can install the packages needed for the doc-gen to work or (2) we can turn that bit off and just pull the docs out of one of the release packages. Sort of depends on your level of python-related patience :smile:

In regards to plan #1, if it’s just a matter to pull some things via apt-get I’m down, but if it is much more complex than that, let’s do option #2 :stuck_out_tongue:

Installing the Python Dependencies

  • Inside your build folder will be a sub-sub-folder like _deps/flucoma-docs-src
  • in there should be a requirements.txt file
  • at its simplest, running
pip install -r <full path to requirements.txt file> 

will download and install all the necessary bits. More fancy options are possible with virtual environments etc., if you need to use python machine for other stuff.

Or Disable docs, and grab from package

re-run CMake again (sorry), with these arguments

cmake -UDOCS -DDOCS=OFF ..

This will clear the currently cached value of the should-i-build-the-docs flag, and reset it to OFF.

Then make install will (hopefully) make it all the way through.

Next, just download the latest pre-built release from Github, un-tar and copy the HelpSource folder over to the partially assembled package (iirc flucoma-sc/release-packaging/FluidCorpusManipulation/

Hi @weezfuzzy,
Well I couldn’t get pip to install everything I needed through the requirements.txt, however, disabling docs worked smoothly!

For reference this was my final cmake command,

cmake -DSC_PATH=/home/anony/src/supercollider -DFLUID_BRANCH=dev -march=armv8-a -mcpu=cortex-a72 -mabi=lp640 -UDOCS -DDOCS=OFF ..

Then I copied in the docs and also the ‘Resources’ folder from the pre-built release.

Thank you again ~VERY MUCH~ for holding me hand through these issues. I have only the moment to minimally test the build, and things seem to be working so far. In October & November & beyond I’ll be attempting to pursue some compositional activities with Flucoma, so I am sure I will have a bunch of (much more interesting) further questions to bring.
Broccoli

2 Likes

Excellent – have fun with it, and I look forward to hearing about what you get up to with it!