2019-05-18, 11:03
I am building Kodi for armv7h on another ARM machine that runs armv8. I get this errors on the ffmpeg step:
From googling this, it seems the problem is due to ffmpeg is including headers from the armv8 system, rather than from the cross-compiled target environment. I think the solution might be to pass the --arm switch when cmake starts building ffmpeg.
Does Kodi offer any switch I can add to cmake to set this to only affect the ffmpeg build?
The following patch is a dirty hack I put together, but it allows for a successful build:
Code:
...
src/libavutil/aarch64/bswap.h:31:5: error: invalid 'asm': invalid operand for code 'w'
__asm__("rev16 %w0, %w0" : "+r"(x));
^~~~~~~
...
From googling this, it seems the problem is due to ffmpeg is including headers from the armv8 system, rather than from the cross-compiled target environment. I think the solution might be to pass the --arm switch when cmake starts building ffmpeg.
Does Kodi offer any switch I can add to cmake to set this to only affect the ffmpeg build?
The following patch is a dirty hack I put together, but it allows for a successful build:
Code:
diff -uprN a/tools/depends/target/ffmpeg/CMakeLists.txt b/tools/depends/target/ffmpeg/CMakeLists.txt
--- a/tools/depends/target/ffmpeg/CMakeLists.txt 2019-04-15 16:33:43.000000000 -0400
+++ b/tools/depends/target/ffmpeg/CMakeLists.txt 2019-05-18 05:30:03.011169171 -0400
@@ -20,7 +20,7 @@ endif()
if(CORE_PLATFORM_NAME STREQUAL rbpi)
string(CONCAT CMAKE_C_FLAGS ${CMAKE_C_FLAGS} " -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux")
- list(APPEND ffmpeg_conf --enable-rpi)
+ list(APPEND ffmpeg_conf --enable-rpi --arch=arm)
endif()
if(CMAKE_C_FLAGS)