tanersener / mobile-ffmpeg

FFmpeg for Android, iOS and tvOS. Not maintained anymore. Superseded by FFmpegKit.
https://tanersener.github.io/mobile-ffmpeg
GNU General Public License v3.0
3.85k stars 787 forks source link

I use android.sh to compile aar,but always error #683

Closed sunny635533 closed 3 years ago

sunny635533 commented 3 years ago

Description run " ./android.sh --lts --disable-x86 --disable-x86-64 --disable-arm-v7a-neon --enable-android-media-codec --enable-android-zlib --enable-gpl --enable-x264 --enable-libvidstab --enable-xvidcore "

Expected behavior hope build success, and i can get mobile-ffmpeg.aar at /prebuilt/android-aar dir

Current behavior actually build failed,

Screenshots image

Logs i can see some details in build.log, ` INFO: Completed build for arm64-v8a on API level 21 at 2021年 2月22日 星期一 15时15分58秒 CST

[armeabi-v7a] Compile arm : mobileffmpeg <= mobileffmpeg.c [armeabi-v7a] Compile arm : mobileffmpeg <= mobileffprobe.c [armeabi-v7a] Compile arm : mobileffmpeg <= android_lts_support.c [armeabi-v7a] Compile arm : mobileffmpeg <= mobileffmpeg_exception.c [armeabi-v7a] Compile arm : mobileffmpeg <= fftools_cmdutils.c [armeabi-v7a] Compile arm : mobileffmpeg <= fftools_ffmpeg.c [armeabi-v7a] Compile arm : mobileffmpeg <= fftools_ffprobe.c [armeabi-v7a] Compile arm : mobileffmpeg <= fftools_ffmpeg_opt.c [armeabi-v7a] Compile arm : mobileffmpeg <= fftools_ffmpeg_hw.c [armeabi-v7a] Compile arm : mobileffmpeg <= fftools_ffmpeg_filter.c [armeabi-v7a] Prebuilt : libavfilter.so <= jni/ffmpeg/../../../prebuilt/android-arm/ffmpeg/lib/ [armeabi-v7a] Prebuilt : libavformat.so <= jni/ffmpeg/../../../prebuilt/android-arm/ffmpeg/lib/ [armeabi-v7a] Prebuilt : libavcodec.so <= jni/ffmpeg/../../../prebuilt/android-arm/ffmpeg/lib/ [armeabi-v7a] Prebuilt : libavutil.so <= jni/ffmpeg/../../../prebuilt/android-arm/ffmpeg/lib/ [armeabi-v7a] Prebuilt : libswresample.so <= jni/ffmpeg/../../../prebuilt/android-arm/ffmpeg/lib/ [armeabi-v7a] Prebuilt : libavdevice.so <= jni/ffmpeg/../../../prebuilt/android-arm/ffmpeg/lib/ [armeabi-v7a] Prebuilt : libswscale.so <= jni/ffmpeg/../../../prebuilt/android-arm/ffmpeg/lib/ [armeabi-v7a] SharedLibrary : libmobileffmpeg.so [armeabi-v7a] Install : libmobileffmpeg.so => libs/armeabi-v7a/libmobileffmpeg.so [armeabi-v7a] Compile arm : mobileffmpeg_abidetect <= mobileffmpeg_abidetect.c [armeabi-v7a] SharedLibrary : libmobileffmpeg_abidetect.so /Users/sunny/Library/Android/sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/bits/fortify/fcntl.h:67: error: undefined reference to 'open_2' /Users/sunny/Library/Android/sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/bits/fortify/unistd.h:191: error: undefined reference to 'read_chk' /Users/sunny/Documents/sourceTree/mobile-ffmpeg/src/cpu-features/src/hwcaps.c:43: error: undefined reference to 'getauxval' clang++: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [/Users/sunny/Library/Android/sdk/ndk/21.3.6528147/build/core/build-binary.mk:725: obj/local/armeabi-v7a/libmobileffmpeg_abidetect.so] Error 1 `

Environment

tanersener commented 3 years ago

I get this error when I'm trying to build an LTS release (using -l option) but cpu-features is compiled for Main releases (without -l option). I suggest deleting prebuilt directory and starting a clean build.

sunny635533 commented 3 years ago

@tanersener Thanks! I run it successfully after delete prebuilt directory and start a clean build.