user/x265: (armv7) FTBFS: error: incompatible types in assignment of ‘void(const int16_t*, const int16_t*, pixel*, intptr_t, intptr_t, intptr_t)’ {aka ‘void(const short int*, const short int*, unsigned char*, int, int, int)’} to...
Found on HR350A (armv7):
...
[ 45%] Building CXX object common/CMakeFiles/common.dir/shortyuv.cpp.o
cd /usr/src/packages/user/x265/src/x265_3.2.1/build/linux/common && /usr/bin/c++ -DEXPORT_C_API=1 -DHAVE_ARMV6=1 -DHAVE_INT_TYPES_H=1 -DHIGH_BIT_DEPTH=0 -DX265_ARCH_ARM=1 -DX265_DEPTH=8 -DX265_NS=x265 -D__STDC_LIMIT_MACROS=1 -I/usr/src/packages/user/x265/src/x265_3.2.1/source/. -I/usr/src/packages/user/x265/src/x265_3.2.1/source/common -I/usr/src/packages/user/x265/src/x265_3.2.1/source/encoder -I/usr/src/packages/user/x265/src/x265_3.2.1/build/linux -O2 -fno-omit-frame-pointer -ggdb -march=armv7-a -mtune=cortex-a7 -g -Wall -Wextra -Wshadow -Wno-class-memaccess -std=gnu++98 -mfloat-abi=hard -Wno-array-bounds -ffast-math -fno-exceptions -MD -MT common/CMakeFiles/common.dir/shortyuv.cpp.o -MF CMakeFiles/common.dir/shortyuv.cpp.o.d -o CMakeFiles/common.dir/shortyuv.cpp.o -c /usr/src/packages/user/x265/src/x265_3.2.1/source/common/shortyuv.cpp
In file included from /usr/src/packages/user/x265/src/x265_3.2.1/source/common/primitives.h:34,
from /usr/src/packages/user/x265/src/x265_3.2.1/source/common/arm/asm-primitives.cpp:28:
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/arm/asm-primitives.cpp: In function ‘void x265::setupAssemblyPrimitives(x265::EncoderPrimitives&, int)’:
<command-line>: error: incompatible types in assignment of ‘void(const int16_t*, const int16_t*, pixel*, intptr_t, intptr_t, intptr_t)’ {aka ‘void(const short int*, const short int*, unsigned char*, int, int, int)’} to ‘void (* [2])(const int16_t*, const int16_t*, pixel*, intptr_t, intptr_t, intptr_t)’ {aka ‘void (* [2])(const short int*, const short int*, unsigned char*, int, int, int)’}
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/cpu.h:30:28: note: in definition of macro ‘PFX3’
#define PFX3(prefix, name) prefix ## _ ## name
^~~~~~
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/cpu.h:32:28: note: in expansion of macro ‘PFX2’
#define PFX(name) PFX2(X265_NS, name)
^~~~
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/cpu.h:32:33: note: in expansion of macro ‘X265_NS’
#define PFX(name) PFX2(X265_NS, name)
^~~~~~~
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/arm/asm-primitives.cpp:51:36: note: in expansion of macro ‘PFX’
p.pu[LUMA_4x4].addAvg = PFX(addAvg_4x4_neon);
^~~
<command-line>: error: incompatible types in assignment of ‘void(const int16_t*, const int16_t*, pixel*, intptr_t, intptr_t, intptr_t)’ {aka ‘void(const short int*, const short int*, unsigned char*, int, int, int)’} to ‘void (* [2])(const int16_t*, const int16_t*, pixel*, intptr_t, intptr_t, intptr_t)’ {aka ‘void (* [2])(const short int*, const short int*, unsigned char*, int, int, int)’}
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/cpu.h:30:28: note: in definition of macro ‘PFX3’
#define PFX3(prefix, name) prefix ## _ ## name
^~~~~~
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/cpu.h:32:28: note: in expansion of macro ‘PFX2’
#define PFX(name) PFX2(X265_NS, name)
^~~~
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/cpu.h:32:33: note: in expansion of macro ‘X265_NS’
#define PFX(name) PFX2(X265_NS, name)
^~~~~~~
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/arm/asm-primitives.cpp:52:36: note: in expansion of macro ‘PFX’
p.pu[LUMA_4x8].addAvg = PFX(addAvg_4x8_neon);
^~~
<command-line>: error: incompatible types in assignment of ‘void(const int16_t*, const int16_t*, pixel*, intptr_t, intptr_t, intptr_t)’ {aka ‘void(const short int*, const short int*, unsigned char*, int, int, int)’} to ‘void (* [2])(const int16_t*, const int16_t*, pixel*, intptr_t, intptr_t, intptr_t)’ {aka ‘void (* [2])(const short int*, const short int*, unsigned char*, int, int, int)’}
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/cpu.h:30:28: note: in definition of macro ‘PFX3’
#define PFX3(prefix, name) prefix ## _ ## name
^~~~~~
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/cpu.h:32:28: note: in expansion of macro ‘PFX2’
#define PFX(name) PFX2(X265_NS, name)
^~~~
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/cpu.h:32:33: note: in expansion of macro ‘X265_NS’
#define PFX(name) PFX2(X265_NS, name)
^~~~~~~
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/arm/asm-primitives.cpp:53:36: note: in expansion of macro ‘PFX’
p.pu[LUMA_4x16].addAvg = PFX(addAvg_4x16_neon);
^~~
<command-line>: error: incompatible types in assignment of ‘void(const int16_t*, const int16_t*, pixel*, intptr_t, intptr_t, intptr_t)’ {aka ‘void(const short int*, const short int*, unsigned char*, int, int, int)’} to ‘void (* [2])(const int16_t*, const int16_t*, pixel*, intptr_t, intptr_t, intptr_t)’ {aka ‘void (* [2])(const short int*, const short int*, unsigned char*, int, int, int)’}
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/cpu.h:30:28: note: in definition of macro ‘PFX3’
#define PFX3(prefix, name) prefix ## _ ## name
^~~~~~
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/cpu.h:32:28: note: in expansion of macro ‘PFX2’
#define PFX(name) PFX2(X265_NS, name)
^~~~
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/cpu.h:32:33: note: in expansion of macro ‘X265_NS’
#define PFX(name) PFX2(X265_NS, name)
^~~~~~~
/usr/src/packages/user/x265/src/x265_3.2.1/source/common/arm/asm-primitives.cpp:54:36: note: in expansion of macro ‘PFX’
p.pu[LUMA_8x4].addAvg = PFX(addAvg_8x4_neon);
^~~
...