arm-linux-androideabi-gcc is unable to create an executable - compile ffmpeg for android armeabi devices arm-linux-androideabi-gcc is unable to create an executable - compile ffmpeg for android armeabi devices android android

arm-linux-androideabi-gcc is unable to create an executable - compile ffmpeg for android armeabi devices


I finally found the problem with my setup when facing this same issue... Looking at the arm-build.sh script, I started following the script. Notice the "TOOLCHAIN=..." path.

Originally the path was: TOOLCHAIN=echo $NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/*-x86

When I went to verify this path exists, I noticed that it did not. I think the reason is that I have a 64-bit build.

My path is actually:.../toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64

What I ended up doing was copying the folder, and renaming it to "linux-x86" and now all is compiling.

Hope this helps someone!


I'm not sure if this is what you are looking but I created a script in order to build FFmpeg 0.11.1 for Android. I modified the scripts provided with older Bambuser FFmpeg builds in order to get them working with 0.11.1. I'm currently using this script to build FFmpeg in my own application so I know the build works. The script located at http://servestream.sourceforge.net/build-ffmpeg.sh. I'm using android-ndk-r8b and Ubuntu 12.04 (x64) to do the building. In order to use the script do the following:

1.) Download the script
2.) Open the script and modify the PACKAGE variable to match application's package
3.) Make it executable: chmod +x build-ffmpeg.sh
4.) Set the NDK variable used by the script, for example: export NDK=/home/user/android-ndk-r8b
5.) Run the script: ./build-ffmpeg.sh

The compiled binaries will be located in the newly created "final-builds" folder in the current working directory. (Note: the script builds binaries for armeabi, armeabi-v7a and x86 architectures)

I hope this answers your question.

UPDATE:

If script isn't found, http://sourceforge.net/p/servestream/code/HEAD/tree/ffmpeg/scripts/arm-build.sh


In my case, I was trying to build exoplayer's ffmpeg extension. It's not able to build with current versions of the NDK (gcc was removed in NDK 18b), so you have to revert to NDK 15c.

See here: https://github.com/google/ExoPlayer/issues/4940