[vlc-devel] [PATCH 3/3] contrib: rav1e: disable for iOS

Alexandre Janniaux ajanni at videolabs.io
Wed Nov 4 17:54:01 CET 2020


This is a temporary workaround, aiming at solving the linkage issues
with rav1e on iOS targetting arm64. The issue doesn't happen on armv7
because rust support is disabled for it. Note that it happens at link
time, so it needs --enable-shared from the build script to reproduce.

    ../extras/package/apple/build.sh \
        --arch=arm64 \
        --sdk=iphoneos \
        --enable-shared

Undefined symbols for architecture arm64:
  "_rav1e_avg_8bpc_neon", referenced from:
      __ZN5rav1e3asm7aarch642mc7AVG_FNS17h2cf63de0c3771947E in librav1e.a(rav1e-d4ae00732c7bf872.rav1e.dflihyi1-cgu.0.rcgu.o)
  "_rav1e_inv_txfm_add_adst_adst_16x16_neon", referenced from:
  ....
ld: symbol(s) not found for architecture arm64
clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
Makefile:18235: recipe for target 'librav1e_plugin.la' failed
make[4]: *** [librav1e_plugin.la] Error 1
---
 contrib/src/rav1e/rules.mak | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/contrib/src/rav1e/rules.mak b/contrib/src/rav1e/rules.mak
index 97c9a1c916..175eddad23 100644
--- a/contrib/src/rav1e/rules.mak
+++ b/contrib/src/rav1e/rules.mak
@@ -5,9 +5,12 @@ RAV1E_URL := https://github.com/xiph/rav1e/archive/v$(RAV1E_VERSION).tar.gz
 
 ifdef BUILD_RUST
 ifdef BUILD_ENCODERS
+# Rav1e is not linking correctly on iOS arm64
+ifndef HAVE_IOS
 PKGS += rav1e
 endif
 endif
+endif
 
 ifeq ($(call need_pkg,"rav1e"),)
 PKGS_FOUND += rav1e
-- 
2.29.2



More information about the vlc-devel mailing list