Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile errors on Raspberry Pi (Various versions) #350

Open
dslotter opened this issue Jun 7, 2020 · 10 comments
Open

Compile errors on Raspberry Pi (Various versions) #350

dslotter opened this issue Jun 7, 2020 · 10 comments

Comments

@dslotter
Copy link

dslotter commented Jun 7, 2020

Issue Description

Compile errors on Raspberry Pi OS Buster 2020-05-27

Setup Details

Using vanilla install of Raspberry Pi OS Buster with cmake installed.

Expected Behavior

Compile to succeed without errors.

Actual Behaviour

Compile failed with error: inlining failed in call to always_inline

Steps to reproduce the problem

Command line operations:
sudo apt install cmake gr-osmosdr libfftw3-dev libusb-1.0-0-devpython3-mako python3-ruamel.yaml
git clone https://github.com/EttusResearch/uhd
cd uhd/host/build
cmake ..
make

Additional Information

pi@raspberrypi:~/hamradio/uhd/host/build $ uname -a
Linux raspberrypi 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l GNU/Linux

pi@raspberrypi:~/hamradio/uhd/host/build $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http:https://www.raspbian.org/"
SUPPORT_URL="http:https://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http:https://www.raspbian.org/RaspbianBugs"

Full build log:
pi@raspberrypi:~/hamradio/uhd/host/build $ make
[ 2%] Built target uhd_rpclib
[ 2%] Built target uhd-resources
[ 2%] Building CXX object lib/CMakeFiles/uhd.dir/convert/convert_with_neon.cpp.o
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h: In member function ‘virtual void __convert_fc32_1_sc16_item32_le_1_PRIORITY_SIMD::operator()(const input_type&, const output_type&, size_t)’:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:6740:1: error: inlining failed in call to always_inline ‘float32x4_t vdupq_n_f32(float32_t)’: target specific option mismatch
vdupq_n_f32 (float32_t __a)
^~~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:27:33: note: called from here
float32x4_t Q0 = vdupq_n_f32(float(scale_factor));
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10844:1: error: inlining failed in call to always_inline ‘void vst1_s16(int16_t*, int16x4_t)’: target specific option mismatch
vst1_s16 (int16_t * __a, int16x4_t __b)
^~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:56:17: note: called from here
vst1_s16((reinterpret_cast<int16_t*>(&output[i + 6])), D15);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:9027:1: error: inlining failed in call to always_inline ‘int16x4_t vrev32_s16(int16x4_t)’: target specific option mismatch
vrev32_s16 (int16x4_t __a)
^~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:55:37: note: called from here
int16x4_t D15 = vrev32_s16(D14);
~~~~~~~~~~^~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7552:1: error: inlining failed in call to always_inline ‘int16x4_t vmovn_s32(int32x4_t)’: target specific option mismatch
vmovn_s32 (int32x4_t __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:54:36: note: called from here
int16x4_t D14 = vmovn_s32(Q13);
~~~~~~~~~^~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7440:1: error: inlining failed in call to always_inline ‘int32x4_t vcvtq_s32_f32(float32x4_t)’: target specific option mismatch
vcvtq_s32_f32 (float32x4_t __a)
^~~~~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:53:40: note: called from here
int32x4_t Q13 = vcvtq_s32_f32(Q11);
~~~~~~~~~~~~~^~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:1172:1: error: inlining failed in call to always_inline ‘float32x4_t vmulq_f32(float32x4_t, float32x4_t)’: target specific option mismatch
vmulq_f32 (float32x4_t __a, float32x4_t __b)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:52:36: note: called from here
float32x4_t Q11 = vmulq_f32(Q10, Q0);
~~~~~~~~~^~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10844:1: error: inlining failed in call to always_inline ‘void vst1_s16(int16_t*, int16x4_t)’: target specific option mismatch
vst1_s16 (int16_t * __a, int16x4_t __b)
^~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:50:17: note: called from here
vst1_s16((reinterpret_cast<int16_t*>(&output[i + 4])), D13);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:9027:1: error: inlining failed in call to always_inline ‘int16x4_t vrev32_s16(int16x4_t)’: target specific option mismatch
vrev32_s16 (int16x4_t __a)
^~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:49:36: note: called from here
int16x4_t D13 = vrev32_s16(D12);
~~~~~~~~~~^~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7552:1: error: inlining failed in call to always_inline ‘int16x4_t vmovn_s32(int32x4_t)’: target specific option mismatch
vmovn_s32 (int32x4_t __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:48:35: note: called from here
int16x4_t D12 = vmovn_s32(Q9);
~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7440:1: error: inlining failed in call to always_inline ‘int32x4_t vcvtq_s32_f32(float32x4_t)’: target specific option mismatch
vcvtq_s32_f32 (float32x4_t __a)
^~~~~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:47:39: note: called from here
int32x4_t Q9 = vcvtq_s32_f32(Q8);
~~~~~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:1172:1: error: inlining failed in call to always_inline ‘float32x4_t vmulq_f32(float32x4_t, float32x4_t)’: target specific option mismatch
vmulq_f32 (float32x4_t __a, float32x4_t __b)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:46:35: note: called from here
float32x4_t Q8 = vmulq_f32(Q7, Q0);
~~~~~~~~~^~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10844:1: error: inlining failed in call to always_inline ‘void vst1_s16(int16_t*, int16x4_t)’: target specific option mismatch
vst1_s16 (int16_t * __a, int16x4_t __b)
^~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:44:17: note: called from here
vst1_s16((reinterpret_cast<int16_t*>(&output[i + 2])), D11);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:9027:1: error: inlining failed in call to always_inline ‘int16x4_t vrev32_s16(int16x4_t)’: target specific option mismatch
vrev32_s16 (int16x4_t __a)
^~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:43:36: note: called from here
int16x4_t D11 = vrev32_s16(D10);
~~~~~~~~~~^~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7552:1: error: inlining failed in call to always_inline ‘int16x4_t vmovn_s32(int32x4_t)’: target specific option mismatch
vmovn_s32 (int32x4_t __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:42:35: note: called from here
int16x4_t D10 = vmovn_s32(Q6);
~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7440:1: error: inlining failed in call to always_inline ‘int32x4_t vcvtq_s32_f32(float32x4_t)’: target specific option mismatch
vcvtq_s32_f32 (float32x4_t __a)
^~~~~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:41:39: note: called from here
int32x4_t Q6 = vcvtq_s32_f32(Q5);
~~~~~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:1172:1: error: inlining failed in call to always_inline ‘float32x4_t vmulq_f32(float32x4_t, float32x4_t)’: target specific option mismatch
vmulq_f32 (float32x4_t __a, float32x4_t __b)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:40:35: note: called from here
float32x4_t Q5 = vmulq_f32(Q4, Q0);
~~~~~~~~~^~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10844:1: error: inlining failed in call to always_inline ‘void vst1_s16(int16_t*, int16x4_t)’: target specific option mismatch
vst1_s16 (int16_t * __a, int16x4_t __b)
^~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:38:17: note: called from here
vst1_s16((reinterpret_cast<int16_t*>(&output[i])), D9);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:9027:1: error: inlining failed in call to always_inline ‘int16x4_t vrev32_s16(int16x4_t)’: target specific option mismatch
vrev32_s16 (int16x4_t __a)
^~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:37:36: note: called from here
int16x4_t D9 = vrev32_s16(D8);
~~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7552:1: error: inlining failed in call to always_inline ‘int16x4_t vmovn_s32(int32x4_t)’: target specific option mismatch
vmovn_s32 (int32x4_t __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:36:35: note: called from here
int16x4_t D8 = vmovn_s32(Q3);
~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7440:1: error: inlining failed in call to always_inline ‘int32x4_t vcvtq_s32_f32(float32x4_t)’: target specific option mismatch
vcvtq_s32_f32 (float32x4_t __a)
^~~~~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:35:39: note: called from here
int32x4_t Q3 = vcvtq_s32_f32(Q2);
~~~~~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:1172:1: error: inlining failed in call to always_inline ‘float32x4_t vmulq_f32(float32x4_t, float32x4_t)’: target specific option mismatch
vmulq_f32 (float32x4_t __a, float32x4_t __b)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:34:35: note: called from here
float32x4_t Q2 = vmulq_f32(Q1, Q0);
~~~~~~~~~^~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10392:1: error: inlining failed in call to always_inline ‘float32x4_t vld1q_f32(const float32_t*)’: target specific option mismatch
vld1q_f32 (const float32_t * __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:32:36: note: called from here
float32x4_t Q10 = vld1q_f32(reinterpret_cast<const float*>(&input[i + 6]));
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10392:1: error: inlining failed in call to always_inline ‘float32x4_t vld1q_f32(const float32_t*)’: target specific option mismatch
vld1q_f32 (const float32_t * __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:31:36: note: called from here
float32x4_t Q7 = vld1q_f32(reinterpret_cast<const float*>(&input[i + 4]));
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10392:1: error: inlining failed in call to always_inline ‘float32x4_t vld1q_f32(const float32_t*)’: target specific option mismatch
vld1q_f32 (const float32_t * __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:30:36: note: called from here
float32x4_t Q4 = vld1q_f32(reinterpret_cast<const float*>(&input[i + 2]));
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10392:1: error: inlining failed in call to always_inline ‘float32x4_t vld1q_f32(const float32_t*)’: target specific option mismatch
vld1q_f32 (const float32_t * __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:29:36: note: called from here
float32x4_t Q1 = vld1q_f32(reinterpret_cast<const float*>(&input[i]));
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:6740:1: error: inlining failed in call to always_inline ‘float32x4_t vdupq_n_f32(float32_t)’: target specific option mismatch
vdupq_n_f32 (float32_t __a)
^~~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:27:33: note: called from here
float32x4_t Q0 = vdupq_n_f32(float(scale_factor));
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:6740:1: error: inlining failed in call to always_inline ‘float32x4_t vdupq_n_f32(float32_t)’: target specific option mismatch
vdupq_n_f32 (float32_t __a)
^~~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:27:33: note: called from here
float32x4_t Q0 = vdupq_n_f32(float(scale_factor));
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10844:1: error: inlining failed in call to always_inline ‘void vst1_s16(int16_t*, int16x4_t)’: target specific option mismatch
vst1_s16 (int16_t * __a, int16x4_t __b)
^~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:56:17: note: called from here
vst1_s16((reinterpret_cast<int16_t*>(&output[i + 6])), D15);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:9027:1: error: inlining failed in call to always_inline ‘int16x4_t vrev32_s16(int16x4_t)’: target specific option mismatch
vrev32_s16 (int16x4_t __a)
^~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:55:37: note: called from here
int16x4_t D15 = vrev32_s16(D14);
~~~~~~~~~~^~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7552:1: error: inlining failed in call to always_inline ‘int16x4_t vmovn_s32(int32x4_t)’: target specific option mismatch
vmovn_s32 (int32x4_t __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:54:36: note: called from here
int16x4_t D14 = vmovn_s32(Q13);
~~~~~~~~~^~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7440:1: error: inlining failed in call to always_inline ‘int32x4_t vcvtq_s32_f32(float32x4_t)’: target specific option mismatch
vcvtq_s32_f32 (float32x4_t __a)
^~~~~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:53:40: note: called from here
int32x4_t Q13 = vcvtq_s32_f32(Q11);
~~~~~~~~~~~~~^~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:1172:1: error: inlining failed in call to always_inline ‘float32x4_t vmulq_f32(float32x4_t, float32x4_t)’: target specific option mismatch
vmulq_f32 (float32x4_t __a, float32x4_t __b)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:52:36: note: called from here
float32x4_t Q11 = vmulq_f32(Q10, Q0);
~~~~~~~~~^~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10844:1: error: inlining failed in call to always_inline ‘void vst1_s16(int16_t*, int16x4_t)’: target specific option mismatch
vst1_s16 (int16_t * __a, int16x4_t __b)
^~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:50:17: note: called from here
vst1_s16((reinterpret_cast<int16_t*>(&output[i + 4])), D13);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:9027:1: error: inlining failed in call to always_inline ‘int16x4_t vrev32_s16(int16x4_t)’: target specific option mismatch
vrev32_s16 (int16x4_t __a)
^~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:49:36: note: called from here
int16x4_t D13 = vrev32_s16(D12);
~~~~~~~~~~^~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7552:1: error: inlining failed in call to always_inline ‘int16x4_t vmovn_s32(int32x4_t)’: target specific option mismatch
vmovn_s32 (int32x4_t __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:48:35: note: called from here
int16x4_t D12 = vmovn_s32(Q9);
~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7440:1: error: inlining failed in call to always_inline ‘int32x4_t vcvtq_s32_f32(float32x4_t)’: target specific option mismatch
vcvtq_s32_f32 (float32x4_t __a)
^~~~~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:47:39: note: called from here
int32x4_t Q9 = vcvtq_s32_f32(Q8);
~~~~~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:1172:1: error: inlining failed in call to always_inline ‘float32x4_t vmulq_f32(float32x4_t, float32x4_t)’: target specific option mismatch
vmulq_f32 (float32x4_t __a, float32x4_t __b)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:46:35: note: called from here
float32x4_t Q8 = vmulq_f32(Q7, Q0);
~~~~~~~~~^~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10844:1: error: inlining failed in call to always_inline ‘void vst1_s16(int16_t*, int16x4_t)’: target specific option mismatch
vst1_s16 (int16_t * __a, int16x4_t __b)
^~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:44:17: note: called from here
vst1_s16((reinterpret_cast<int16_t*>(&output[i + 2])), D11);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:9027:1: error: inlining failed in call to always_inline ‘int16x4_t vrev32_s16(int16x4_t)’: target specific option mismatch
vrev32_s16 (int16x4_t __a)
^~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:43:36: note: called from here
int16x4_t D11 = vrev32_s16(D10);
~~~~~~~~~~^~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7552:1: error: inlining failed in call to always_inline ‘int16x4_t vmovn_s32(int32x4_t)’: target specific option mismatch
vmovn_s32 (int32x4_t __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:42:35: note: called from here
int16x4_t D10 = vmovn_s32(Q6);
~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7440:1: error: inlining failed in call to always_inline ‘int32x4_t vcvtq_s32_f32(float32x4_t)’: target specific option mismatch
vcvtq_s32_f32 (float32x4_t __a)
^~~~~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:41:39: note: called from here
int32x4_t Q6 = vcvtq_s32_f32(Q5);
~~~~~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:1172:1: error: inlining failed in call to always_inline ‘float32x4_t vmulq_f32(float32x4_t, float32x4_t)’: target specific option mismatch
vmulq_f32 (float32x4_t __a, float32x4_t __b)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:40:35: note: called from here
float32x4_t Q5 = vmulq_f32(Q4, Q0);
~~~~~~~~~^~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10844:1: error: inlining failed in call to always_inline ‘void vst1_s16(int16_t*, int16x4_t)’: target specific option mismatch
vst1_s16 (int16_t * __a, int16x4_t __b)
^~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:38:17: note: called from here
vst1_s16((reinterpret_cast<int16_t*>(&output[i])), D9);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:9027:1: error: inlining failed in call to always_inline ‘int16x4_t vrev32_s16(int16x4_t)’: target specific option mismatch
vrev32_s16 (int16x4_t __a)
^~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:37:36: note: called from here
int16x4_t D9 = vrev32_s16(D8);
~~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7552:1: error: inlining failed in call to always_inline ‘int16x4_t vmovn_s32(int32x4_t)’: target specific option mismatch
vmovn_s32 (int32x4_t __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:36:35: note: called from here
int16x4_t D8 = vmovn_s32(Q3);
~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7440:1: error: inlining failed in call to always_inline ‘int32x4_t vcvtq_s32_f32(float32x4_t)’: target specific option mismatch
vcvtq_s32_f32 (float32x4_t __a)
^~~~~~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:35:39: note: called from here
int32x4_t Q3 = vcvtq_s32_f32(Q2);
~~~~~~~~~~~~~^~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:1172:1: error: inlining failed in call to always_inline ‘float32x4_t vmulq_f32(float32x4_t, float32x4_t)’: target specific option mismatch
vmulq_f32 (float32x4_t __a, float32x4_t __b)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:34:35: note: called from here
float32x4_t Q2 = vmulq_f32(Q1, Q0);
~~~~~~~~~^~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10392:1: error: inlining failed in call to always_inline ‘float32x4_t vld1q_f32(const float32_t*)’: target specific option mismatch
vld1q_f32 (const float32_t * __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:32:36: note: called from here
float32x4_t Q10 = vld1q_f32(reinterpret_cast<const float*>(&input[i + 6]));
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10392:1: error: inlining failed in call to always_inline ‘float32x4_t vld1q_f32(const float32_t*)’: target specific option mismatch
vld1q_f32 (const float32_t * __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:31:36: note: called from here
float32x4_t Q7 = vld1q_f32(reinterpret_cast<const float*>(&input[i + 4]));
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10392:1: error: inlining failed in call to always_inline ‘float32x4_t vld1q_f32(const float32_t*)’: target specific option mismatch
vld1q_f32 (const float32_t * __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:30:36: note: called from here
float32x4_t Q4 = vld1q_f32(reinterpret_cast<const float*>(&input[i + 2]));
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10392:1: error: inlining failed in call to always_inline ‘float32x4_t vld1q_f32(const float32_t*)’: target specific option mismatch
vld1q_f32 (const float32_t * __a)
^~~~~~~~~
/home/pi/hamradio/uhd/host/lib/convert/convert_with_neon.cpp:29:36: note: called from here
float32x4_t Q1 = vld1q_f32(reinterpret_cast<const float*>(&input[i]));
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [lib/CMakeFiles/uhd.dir/build.make:489: lib/CMakeFiles/uhd.dir/convert/convert_with_neon.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:129: lib/CMakeFiles/uhd.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

@drmpeg
Copy link
Contributor

drmpeg commented Jun 9, 2020

You need to set the NEON flags properly.

cmake -DCMAKE_CXX_FLAGS:STRING="-march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15 -Wno-psabi" -DCMAKE_C_FLAGS:STRING="-march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15 -Wno-psabi" -DCMAKE_ASM_FLAGS:STRING="-march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15 -g" ../

Replace -mtune=cortex-a15 with -mtune=cortex-a53 for RPi3 and -mtune=cortex-a72 for RPi4.

@dslotter
Copy link
Author

dslotter commented Jun 11, 2020

@drmpeg When you state, "You need to set the NEON flags properly", it infers that I set them improperly.

I searched the publicly available documentation at https://github.com/EttusResearch/uhd and https://files.ettus.com/manual/page_install.html and could not find any notes with regard to this.

I would suggest to close this bug that either the standard "cmake .." + "make" steps be modified to automatically account for these settings or that instructions be prominently displayed at one or both of the above web links.

Thank you.

-Dave, W3DJS

@drmpeg
Copy link
Contributor

drmpeg commented Jun 11, 2020

I'm not an Ettus employee, so I can't help with your suggestions. However, I do have direct experience with this issue and was just trying to help out by providing a fix that I know works.

@dslotter
Copy link
Author

@drmpeg Thank you for supplying the cmake flags. I am incorporating them into my HamPi image so that hams with Raspberry Pi computers that aren't that computer-savvy can make use of all Soapy framework-supported radios, including UHD.

@Who8MyLunch
Copy link

@drmpeg The Raspberry Pi 3 and 4 are both ARMv8, does that mean the -march flags should be modified accordingly? Just curious.

@drmpeg
Copy link
Contributor

drmpeg commented Sep 13, 2020

If you're running a 64-bit OS, then you can try ARMv8 flags. But this issue was about Raspberry Pi OS Buster, which is 32-bit.

On a 64-bit OS, You could try -march=armv8-a -mtune=cortex-a72 -mfpu=neon-fp-armv8 -mfloat-abi=hard. Unfortunately, I don't have an RPi4 to test with.

To see available flags:

gcc -Q --help=target

or what the compiler is detecting as your native architecture:

gcc -march=native -Q --help=target

@atrnati
Copy link
Contributor

atrnati commented Sep 24, 2020

Thanks for reporting this (and a big thank you to those who chimed in with the right magical invocations). We're looking into how to properly document this so it's easy for users to build UHD on alternate platforms.

@dslotter
Copy link
Author

@atrnati Thank you so much for recognizing this documentation need. You have my full support. Please let me know if there is anything I can do to assist.

@michael-west
Copy link
Contributor

@drmpeg Thanks for the solution!

@dslotter Thanks for reporting! We welcome pull requests for the manual host/docs or you can submit an Application Note to [email protected] for our Knowledge Base (kb.ettus.com).

Marking this as Support because we don't officially support the OS, but we are always interested in removing obstacles for those wanting to build and run on other architectures.

@alegra8611
Copy link

You need to set the NEON flags properly.

cmake -DCMAKE_CXX_FLAGS:STRING="-march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15 -Wno-psabi" -DCMAKE_C_FLAGS:STRING="-march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15 -Wno-psabi" -DCMAKE_ASM_FLAGS:STRING="-march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a15 -g" ../

Replace -mtune=cortex-a15 with -mtune=cortex-a53 for RPi3 and -mtune=cortex-a72 for RPi4.

I have noted this for future use, here I am looking for certain flags in the Make files to append...

@mbr0wn mbr0wn changed the title Compile errors on Raspberry Pi OS Buster 2020-05-27 Compile errors on Raspberry Pi (Various versions) Sep 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants