godot: Build failure for libvpx on ARMv8 with 32-bit Linux OS: Inlining failed in call to NEON instructions
Godot version:
Latest source from master branch at GitHub (3.1)
OS/device including version:
Ubuntu 18.04 Bionic LXDE Rock64 (ARM v8)
Issue description:
Using
scons platform=x11 tools=no target=release_debug bits=32
Expected: Godot compiles successfully.
Actual: GCC inline
[Initial build] Compiling ==> thirdparty/libvpx/vp8/common/arm/neon/bilinearpredict_neon.c
In file included from thirdparty/libvpx/vp8/common/arm/neon/bilinearpredict_neon.c:11:0:
thirdparty/libvpx/vp8/common/arm/neon/bilinearpredict_neon.c: In function 'vp8_bilinear_predict8x4_neon':
/usr/lib/gcc/arm-linux-gnueabihf/7/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch
vld1_u8 (const uint8_t * __a)
^~~~~~~
thirdparty/libvpx/vp8/common/arm/neon/bilinearpredict_neon.c:42:15: note: called from here
d26u8 = vld1_u8(src_ptr);
~~~~~~^~~~~~~~~~~~~~~~~~
In file included from thirdparty/libvpx/vp8/common/arm/neon/bilinearpredict_neon.c:11:0:
/usr/lib/gcc/arm-linux-gnueabihf/7/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch
vld1_u8 (const uint8_t * __a)
^~~~~~~
thirdparty/libvpx/vp8/common/arm/neon/bilinearpredict_neon.c:41:15: note: called from here
d25u8 = vld1_u8(src_ptr); src_ptr += src_pixels_per_line;
Steps to reproduce: Install LXDE desktop for Rock64. Install Godot required libraries. Attempt to compile Godot, as above.
Minimal reproduction project:
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 26 (11 by maintainers)
This was confirmed on https://godotforums.org/discussion/23832/building-for-x11-fails-arm-chipset.
We should detect the target architecture in SCons to disable the WebM module automatically when not targeting an x86-based architecture.