> Trying to build x265_3.3 using gcc-9.2 on an RPi4 fails. > > Using > cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release > -DCMAKE_VERBOSE_MAKEFILE=TRUE ../source > > ..fails as below (and also fails if I remove -DHAVE_ARMV6=1) If I compile > using armv6 cflags and remove -DHAVE_NEON > it still fails with the same error > > Is it possible that it is trying to use 64-bit neon instructions? > > ---- > > [ 1%] Building CXX object encoder/CMakeFiles/encoder.dir/analysis.cpp.o > cd /usr/src/x265_3.3/build_x265/encoder && /usr/local/bin/c++ > -DEXPORT_C_API=1 -DHAVE_ARMV6=1 -DHAVE_INT_TYPES_H=1 > -DHAVE_NEON -DHIGH_BIT_DEPTH=0 -DX265_ARCH_ARM=1 -DX265_DEPTH=8 > -DX265_NS=x265 -D__STDC_LIMIT_MACROS=1 > -I/usr/src/x265_3.3/source/. -I/usr/src/x265_3.3/source/common > -I/usr/src/x265_3.3/source/encoder -I/usr/src/x265_3.3/build_x265 > -O3 -DNDEBUG -Wall -Wextra -Wshadow -Wno-class-memaccess -std=gnu++98 > -mcpu=native -mfloat-abi=hard -mfpu=neon > -marm -fPIC -Wno-array-bounds -ffast-math -fno-exceptions -Wno-uninitialized > -o CMakeFiles/encoder.dir/analysis.cpp.o > -c /usr/src/x265_3.3/source/encoder/analysis.cpp > ... > [ 24%] Building CXX object > common/CMakeFiles/common.dir/arm/asm-primitives.cpp.o > > cd /usr/src/x265_3.3/build_x265/common && /usr/local/bin/c++ > -DEXPORT_C_API=1 -DHAVE_INT_TYPES_H=1 > -DHAVE_NEON -DHIGH_BIT_DEPTH=0 -DX265_ARCH_ (truncated) > In file included from /usr/src/x265_3.3/source/common/primitives.h:34, > > from > /usr/src/x265_3.3/source/common/arm/asm-primitives.cpp:28: > > /usr/src/x265_3.3/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 'vo > /usr/src/x265_3.3/source/common/cpu.h:30:28: note: in definition of macro > 'PFX3' > 30 | #define PFX3(prefix, name) prefix ## _ ## name > > | ^~~~~~ > > /usr/src/x265_3.3/source/common/cpu.h:32:28: note: in expansion of macro > 'PFX2' > 32 | #define PFX(name) PFX2(X265_NS, name) > > | ^~~~ > > /usr/src/x265_3.3/source/common/cpu.h:32:33: note: in expansion of macro > 'X265_NS' > 32 | #define PFX(name) PFX2(X265_NS, name) > > | ^~~~~~~ > > /usr/src/x265_3.3/source/common/arm/asm-primitives.cpp:51:36: note: in > expansion of macro 'PFX' > 51 | p.pu[LUMA_4x4].addAvg = PFX(addAvg_4x4_neon); > > | ^~~ > Using the attached patch, x265-arm-asm-primitives.patch, from:
https://git.pantherx.org/mirror/guix/blob/985d542e028517b2888fa61831233a2b60dc7d48/gnu/packages/patches/x265-arm-asm-primitives.patch ..fixes the problem. This appears to be for x265_2.8, but it has not been applied to x265_3.3? Regards John
x265-arm-asm-primitives.patch
Description: x265-arm-asm-primitives.patch
_______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel