GNOME Bugzilla – Bug 795454
android: x86_64 target abi build failure
Last modified: 2018-11-03 10:22:52 UTC
With the GStreamer 1.14.0 binaries and sdkmanager deps: Path | Version | Description | Location ------- | ------- | ------- | ------- build-tools;23.0.3 | 23.0.3 | Android SDK Build-Tools 23.0.3 | build-tools/23.0.3/ build-tools;26.0.2 | 26.0.2 | Android SDK Build-Tools 26.0.2 | build-tools/26.0.2/ build-tools;27.0.3 | 27.0.3 | Android SDK Build-Tools 27.0.3 | build-tools/27.0.3/ extras;android;m2repository | 47.0.0 | Android Support Repository | extras/android/m2repository/ ndk-bundle | 16.1.4479499 | NDK | ndk-bundle/ patcher;v4 | 1 | SDK Patch Applier v4 | patcher/v4/ platform-tools | 27.0.1 | Android SDK Platform-Tools | platform-tools/ platforms;android-23 | 3 | Android SDK Platform 23 | platforms/android-23/ platforms;android-26 | 2 | Android SDK Platform 26 | platforms/android-26/ tools | 26.1.1 | Android SDK Tools | tools/ Build gstplayer x86 [x86] Compile : gstplayer <= player.c GStreamer : [GEN] => gst-build-x86/gstreamer_android.c GStreamer : [COMPILE] => gst-build-x86/gstreamer_android.c GStreamer : [LINK] => gst-build-x86/libgstreamer_android.so /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libcrypto.a(aesni-x86.o): In function `aesni_encrypt': /home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/openssl-1.1.0g/crypto/aes/aesni-x86.s:8: multiple definition of `aesni_encrypt' /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libgnutls.a(aesni-x86.o):/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/gnutls-3.5.18/lib/accelerated/x86/elf/aesni-x86.s:47: first defined here /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libcrypto.a(aesni-x86.o): In function `aesni_decrypt': /home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/openssl-1.1.0g/crypto/aes/aesni-x86.s:35: multiple definition of `aesni_decrypt' /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libgnutls.a(aesni-x86.o):/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/gnutls-3.5.18/lib/accelerated/x86/elf/aesni-x86.s:71: first defined here /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libcrypto.a(aesni-x86.o): In function `aesni_ecb_encrypt': /home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/openssl-1.1.0g/crypto/aes/aesni-x86.s:364: multiple definition of `aesni_ecb_encrypt' /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libgnutls.a(aesni-x86.o):/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/gnutls-3.5.18/lib/accelerated/x86/elf/aesni-x86.s:343: first defined here /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libcrypto.a(aesni-x86.o): In function `aesni_ccm64_encrypt_blocks': /home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/openssl-1.1.0g/crypto/aes/aesni-x86.s:599: multiple definition of `aesni_ccm64_encrypt_blocks' /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libgnutls.a(aesni-x86.o):/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/gnutls-3.5.18/lib/accelerated/x86/elf/aesni-x86.s:572: first defined here /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libcrypto.a(aesni-x86.o): In function `aesni_ccm64_decrypt_blocks': /home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/openssl-1.1.0g/crypto/aes/aesni-x86.s:687: multiple definition of `aesni_ccm64_decrypt_blocks' /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libgnutls.a(aesni-x86.o):/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/gnutls-3.5.18/lib/accelerated/x86/elf/aesni-x86.s:652: first defined here /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libcrypto.a(aesni-x86.o): In function `aesni_ctr32_encrypt_blocks': /home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/openssl-1.1.0g/crypto/aes/aesni-x86.s:810: multiple definition of `aesni_ctr32_encrypt_blocks' /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libgnutls.a(aesni-x86.o):/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/gnutls-3.5.18/lib/accelerated/x86/elf/aesni-x86.s:764: first defined here /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libcrypto.a(aesni-x86.o): In function `aesni_xts_encrypt': /home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/openssl-1.1.0g/crypto/aes/aesni-x86.s:1048: multiple definition of `aesni_xts_encrypt' /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libgnutls.a(aesni-x86.o):/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/gnutls-3.5.18/lib/accelerated/x86/elf/aesni-x86.s:995: first defined here /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libcrypto.a(aesni-x86.o): In function `aesni_xts_decrypt': /home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/openssl-1.1.0g/crypto/aes/aesni-x86.s:1408: multiple definition of `aesni_xts_decrypt' /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libgnutls.a(aesni-x86.o):/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/gnutls-3.5.18/lib/accelerated/x86/elf/aesni-x86.s:1342: first defined here /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libcrypto.a(aesni-x86.o): In function `aesni_cbc_encrypt': /home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/openssl-1.1.0g/crypto/aes/aesni-x86.s:2588: multiple definition of `aesni_cbc_encrypt' /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libgnutls.a(aesni-x86.o):/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/gnutls-3.5.18/lib/accelerated/x86/elf/aesni-x86.s:1718: first defined here /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libcrypto.a(aesni-x86.o): In function `aesni_set_encrypt_key': /home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/openssl-1.1.0g/crypto/aes/aesni-x86.s:3182: multiple definition of `aesni_set_encrypt_key' /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libgnutls.a(aesni-x86.o):/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/gnutls-3.5.18/lib/accelerated/x86/elf/aesni-x86.s:2135: first defined here /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libcrypto.a(aesni-x86.o): In function `aesni_set_decrypt_key': /home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/openssl-1.1.0g/crypto/aes/aesni-x86.s:3193: multiple definition of `aesni_set_decrypt_key' /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libgnutls.a(aesni-x86.o):/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/x86/gnutls-3.5.18/lib/accelerated/x86/elf/aesni-x86.s:2146: first defined here /Users/philn/dev/android/ndk-bundle/toolchains/x86-4.9/prebuilt/darwin-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin/ld.bfd: /Users/philn/dev/libgstreamer_android_gen/gst-android-1.14//x86/lib/libvpx.a(postproc.c.o): relocation R_386_GOTOFF against protected data `vp8_rv' can not be used when making a shared object /Users/philn/dev/android/ndk-bundle/toolchains/x86-4.9/prebuilt/darwin-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin/ld.bfd: final link failed: Bad value clang: error: linker command failed with exit code 1 (use -v to see invocation)
Created attachment 371222 [details] x86_64 build errors x6_64 build also fails.
Thanks for taking the time to report this. This particular bug has already been reported into our bug tracking system, but we are happy to tell you that the problem has already been fixed in the code repository. *** This bug has been marked as a duplicate of bug 794599 ***
Comment on attachment 371222 [details] x86_64 build errors This still happens with gst git master.
I think the fix is to link with -Wl,--exclude-libs=comma-separated-list-of-libs which will not try to export symbols from the specified static libraries. libx264.a and ffmpeg's static libraries should not export any symbols in libgstreamer_android.so
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/cerbero/issues/52.