[Libav-user] Build tag n2.4 for armv7 with --disable-armv6 complaints link error

Carl Eugen Hoyos cehoyos at ag.or.at
Thu Sep 18 23:31:01 CEST 2014

Zhang Rui <bbcallen at ...> writes:


> --enable-pic

First and most important:
Why are you using --enable-pic?
I have heard different opinions, did you do any 
benchmarks? Is there anything that does not work 
without it?
Should it be the default for iOS in your opinion?

> --disable-gpl --disable-nonfree --enable-runtime-cpudetect
> --disable-gray --enable-avcodec --enable-avformat 
> --enable-avutil --enable-swresample --enable-swscale
> --disable-postproc --disable-avresample --enable-network
> --enable-static --disable-shared --enable-optimizations
> --enable-debug

These are all default vales, your configure line gets 
easier to read if you remove them.
(But see below for --disable-all, you will have to add 
all --enable options except avutil then.)

> --enable-version3

I am nearly sure that this does something that you 
do not want.
(The option does not change the binary but the license.)

> --disable-programs --disable-ffmpeg
> --disable-ffplay --disable-ffprobe --disable-ffserver

disable-programs implies the others, you can remove them.

But looking at the rest of you configure line, I suspect 
you actually want to start with --disable-all and enable 
the few features you want.

> --disable-dxva2 --disable-vaapi --disable-vda
> --disable-vdpau

dxva2, vaapi and vdpau cannot be enabled for iOS, if vda 
would work, I suspect you would want it or not?

> --enable-decoder=aac --enable-decoder=aac_latm
> --enable-decoder=ac3 --enable-decoder=flv ...

You can use --enable-decoder=aac*,ac3,flv,...
Similar for --enable-muxer=mpegts,mp4 and 
--enable-demuxer=aac,ac3,concat,... etc.

> --disable-armv5te --disable-armv6
> --disable-armv6t2 --arch=armv7 --enable-neon

Can you explain this?
Why are you disabling some optimizations for the 
arm target? I would have expected that the three 
disable options are not a good idea. What do I 
(Removing them would also fix your linking issue 
I assume.)

> --disable-symver

Is this needed?
If yes, it may indicate a bug.

> --cc='xcrun -sdk iphoneos clang' --extra-cflags=' -arch armv7
> -miphoneos-version-min=5.1.1 ' --extra-cxxflags=' -arch armv7
> -miphoneos-version-min=5.1.1 ' --extra-ldflags=' -arch armv7
> -miphoneos-version-min=5.1.1 '"

I believe the following is much simpler:

--cc='xcrun -sdk iphoneos clang -arch armv7-miphoneos-version-min=5.1.1'
Or does this not work? I usually test without xcrun.

Carl Eugen

More information about the Libav-user mailing list