[x265] Issue #554: aarch64 cross-compile issue since version 3.4 (multicoreware/x265)

th0ma7 issues-reply at bitbucket.org
Mon Jun 29 23:13:06 CEST 2020


New issue 554: aarch64 cross-compile issue since version 3.4
https://bitbucket.org/multicoreware/x265/issues/554/aarch64-cross-compile-issue-since-version

th0ma7:

Getting the following wih version 3.4 \(used to work OK with version 3.3\)

```
Getting the following wih version 3.4 (used to work OK with version 3.3)

[ 26%] Building CXX object encoder/CMakeFiles/encoder.dir/reference.cpp.o
[ 28%] Building CXX object encoder/CMakeFiles/encoder.dir/encoder.cpp.o
[ 30%] Building CXX object encoder/CMakeFiles/encoder.dir/api.cpp.o
[ 32%] Building CXX object encoder/CMakeFiles/encoder.dir/weightPrediction.cpp.o
make[4]: Leaving directory '/home/spksrc/git-ffmpeg-next/spksrc/cross/x265/work-aarch64-6.1/x265_3.4/build12bit'
[ 32%] Built target encoder
make[4]: Entering directory '/home/spksrc/git-ffmpeg-next/spksrc/cross/x265/work-aarch64-6.1/x265_3.4/build12bit'
Scanning dependencies of target dynamicHDR10
make[4]: Leaving directory '/home/spksrc/git-ffmpeg-next/spksrc/cross/x265/work-aarch64-6.1/x265_3.4/build12bit'
make[4]: Entering directory '/home/spksrc/git-ffmpeg-next/spksrc/cross/x265/work-aarch64-6.1/x265_3.4/build12bit'
[ 33%] Building CXX object dynamicHDR10/CMakeFiles/dynamicHDR10.dir/json11/json11.cpp.o
aarch64-unknown-linux-gnueabi-g++: error: unrecognized command line option ‘-mfloat-abi=soft’
aarch64-unknown-linux-gnueabi-g++: error: unrecognized command line option ‘-mfpu=vfp’
aarch64-unknown-linux-gnueabi-g++: error: unrecognized command line option ‘-marm’
dynamicHDR10/CMakeFiles/dynamicHDR10.dir/build.make:62: recipe for target 'dynamicHDR10/CMakeFiles/dynamicHDR10.dir/json11/json11.cpp.o' failed
make[4]: *** [dynamicHDR10/CMakeFiles/dynamicHDR10.dir/json11/json11.cpp.o] Error 1
make[4]: Leaving directory '/home/spksrc/git-ffmpeg-next/spksrc/cross/x265/work-aarch64-6.1/x265_3.4/build12bit'
CMakeFiles/Makefile2:225: recipe for target 'dynamicHDR10/CMakeFiles/dynamicHDR10.dir/all' failed
make[3]: *** [dynamicHDR10/CMakeFiles/dynamicHDR10.dir/all] Error 2
make[3]: Leaving directory '/home/spksrc/git-ffmpeg-next/spksrc/cross/x265/work-aarch64-6.1/x265_3.4/build12bit'
Makefile:129: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/spksrc/git-ffmpeg-next/spksrc/cross/x265/work-aarch64-6.1/x265_3.4/build12bit'
Makefile:92: recipe for target 'x265_3.4/source/libx265_main12.a' failed
make[1]: *** [x265_3.4/source/libx265_main12.a] Error 2
make[1]: Leaving directory '/home/spksrc/git-ffmpeg-next/spksrc/cross/x265'
../../mk/spksrc.cross-cc.mk:81: recipe for target 'arch-aarch64-6.1' failed
make: [arch-aarch64-6.1] Error 2 (ignored)
```

Here is my temp fix I currently use to circumvent the issue \(revert to previous state\):

```
--- ./CMakeLists.txt-orig	2020-06-29 16:57:09.926383581 -0400
+++ ./CMakeLists.txt		2020-06-29 16:53:48.890687191 -0400
@@ -40,7 +40,7 @@ SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_
 # System architecture detection
 string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" SYSPROC)
 set(X86_ALIASES x86 i386 i686 x86_64 amd64)
-set(ARM_ALIASES armv6l armv7l aarch64)
+set(ARM_ALIASES armv6l armv7l)
 list(FIND X86_ALIASES "${SYSPROC}" X86MATCH)
 list(FIND ARM_ALIASES "${SYSPROC}" ARMMATCH)
 set(POWER_ALIASES ppc64 ppc64le)
```

Always compiled great with the following options using gcc 4.9.4 \(yes, it’s old, I know\):

```
-DCMAKE_CXX_FLAGS=-fPIC
-DCROSS_COMPILE_ARM=ON
-DENABLE_ASSEMBLY=OFF
-DCMAKE_SYSTEM_PROCESSOR=aarch64
```

‌




More information about the x265-devel mailing list