[FFmpeg-trac] #2890(build system:new): Compile ffmpeg for Android on OSX failes (ld)
FFmpeg
trac at avcodec.org
Thu Aug 22 22:47:27 CEST 2013
#2890: Compile ffmpeg for Android on OSX failes (ld)
-------------------------------------+-------------------------------------
Reporter: fscz | Type: defect
Status: new | Priority: normal
Component: build | Version: git-
system | master
Keywords: build ld | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug:
during compilation of libavutil
following error shows up:
LD libavutil/libavutil.52.dylib
/Users/fschuetz/tmp/ffmpeg/build/toolchain/bin/../lib/gcc/arm-linux-
androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: -single_module:
unknown option
/Users/fschuetz/tmp/ffmpeg/build/toolchain/bin/../lib/gcc/arm-linux-
androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: use the --help
option for usage information
collect2: ld returned 1 exit status
make: *** [libavutil/libavutil.52.dylib] Error 1
How to reproduce:
checkout https://github.com/FFmpeg/FFmpeg
build, using ndk9:
------------------
#!/bin/bash
##CONFIGURATION ###################################################
NDK=/opt/android-ndk-r9
TARGET_OS=darwin
BUILD=$(pwd)/build/dest
TOOLCHAIN=$(pwd)/build/toolchain
SYSROOT=$TOOLCHAIN/sysroot
FFMPEG_FLAGS="--prefix=${BUILD} \
--target-os=${TARGET_OS} \
--arch=arm \
--enable-thumb \
--enable-cross-compile \
--cross-prefix=arm-linux-androideabi- \
--disable-programs \
--disable-everything \
--disable-asm \
--disable-symver \
--disable-doc \
--disable-devices \
--disable-bsfs \
--disable-network \
--enable-avdevice \
--enable-avcodec \
--enable-avutil \
--enable-swresample \
--enable-swscale \
--enable-debug \
--disable-postproc \
--disable-avfilter \
--enable-gpl \
--enable-version3 \
--enable-shared \
--enable-static \
--enable-rdft \
--enable-ffmpeg \
--enable-protocol=file
--enable-parser=aac \
--enable-parser=ac3 \
--enable-parser=mpegaudio \
--enable-demuxer=aac \
--enable-demuxer=ac3 \
--enable-demuxer=ape \
--enable-demuxer=asf \
--enable-demuxer=flac \
--enable-demuxer=matroska_audio \
--enable-demuxer=mp3 \
--enable-demuxer=mpc \
--enable-demuxer=mov \
--enable-demuxer=mpc8 \
--enable-demuxer=ogg \
--enable-demuxer=tta \
--enable-demuxer=wav \
--enable-demuxer=wv \
--enable-decoder=aac \
--enable-decoder=ac3 \
--enable-decoder=alac \
--enable-decoder=ape \
--enable-decoder=flac \
--enable-decoder=mp1 \
--enable-decoder=mp2 \
--enable-decoder=mp3 \
--enable-decoder=mpc7 \
--enable-decoder=mpc8 \
--enable-decoder=tta \
--enable-decoder=vorbis \
--enable-decoder=wavpack \
--enable-decoder=wmav1 \
--enable-decoder=wmav2 \
--enable-decoder=pcm_alaw \
--enable-decoder=pcm_dvd \
--enable-decoder=pcm_f32be \
--enable-decoder=pcm_f32le \
--enable-decoder=pcm_f64be \
--enable-decoder=pcm_f64le \
--enable-decoder=pcm_s16be \
--enable-decoder=pcm_s16le \
--enable-decoder=pcm_s16le_planar \
--enable-decoder=pcm_s24be \
--enable-decoder=pcm_daud \
--enable-decoder=pcm_s24le \
--enable-decoder=pcm_s32be \
--enable-decoder=pcm_s32le \
--enable-decoder=pcm_s8 \
--enable-decoder=pcm_u16be \
--enable-decoder=pcm_u16le \
--enable-decoder=pcm_u24be \
--enable-decoder=pcm_u24le \
--enable-decoder=rawvideo"
##END ###################################################
$NDK/build/tools/make-standalone-toolchain.sh --toolchain=arm-linux-
androideabi-4.6 --platform=android-14 --system=darwin-x86_64 --install-
dir=$TOOLCHAIN
export PATH=$TOOLCHAIN/bin:$PATH
export CC=arm-linux-androideabi-gcc
export LD=arm-linux-androideabi-ld
export AR=arm-linux-androideabi-ar
CFLAGS="-O3 -Wall -mthumb -pipe -fpic -fasm \
-finline-limit=300 -ffast-math \
-fstrict-aliasing -Werror=strict-aliasing \
-fmodulo-sched -fmodulo-sched-allow-regmoves \
-Wno-psabi -Wa,--noexecstack \
-DANDROID -DNDEBUG"
EXTRA_CFLAGS="-march=armv7-a -mthumb -mthumb-interwork -mfpu=neon -mfloat-
abi=softfp -mvectorize-with-neon-quad"
EXTRA_LDFLAGS="-Wl,--fix-cortex-a8"
./configure $FFMPEG_FLAGS --extra-cflags="$CFLAGS $EXTRA_CFLAGS" --extra-
ldflags="$EXTRA_LDFLAGS"
make clean
make -j
make install
--------
built on osx 10.8
Patches should be submitted to the ffmpeg-devel mailing list and not this
bug tracker.
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2890>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list