[x264-devel] arm: x264 library can't be loaded on Android 6 (Marshmallow) due to text relocations

Simon Liu jowtte at gmail.com
Mon Oct 12 05:51:07 CEST 2015


Hello,

I'm trying to use x264 library on Android 6, and got the following error:

java.lang.UnsatisfiedLinkError: dlopen failed:
/data/app/com.example.myapp.dev-2/lib/arm/libx264.so: has text relocations
       at java.lang.Runtime.loadLibrary(Runtime.java:372)
       at java.lang.System.loadLibrary(System.java:1076)

The following is my configure command:

LIBX264_CFLAGS=" \
--cross-prefix=arm-linux-androideabi- \
--sysroot=$SYSROOT \
--prefix=$DEST \
--host=arm-linux  \
--disable-cli \
--enable-pic \
--enable-shared \
--disable-avs"

./configure $LIBX264_CFLAGS

It works well on Android 4.x/5.x, and the linker process only report a
warning about text relocations.

As per my understanding, enable-pic should omit the text relocation issue,
but it doesn't. It seems there're some hardcoding textrel in ASM code.

Is there any way to fix this issue? Or any workaround to it?

Thanks,
Simon.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20151012/54794760/attachment.html>


More information about the x264-devel mailing list