[x265] x265_3.3 build fails on RPi4
John Frankish
john.frankish at outlook.com
Mon May 4 07:08:52 CEST 2020
> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x265-arm-asm-primitives.patch
Type: application/octet-stream
Size: 26210 bytes
Desc: x265-arm-asm-primitives.patch
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20200504/6e9b65d1/attachment-0001.obj>
More information about the x265-devel
mailing list