Page 1 of 1

Building MobileVLC for iOS

Posted: 08 Aug 2012 00:47
by curson670
Hi,
I'm trying to build the current MobileVLC version for iOS.
I followed all the steps in the Wiki, but the build failed.
So instead of calling the "buildMobileVLC.sh" script, I tried to build each target manually, as described in howto, which is delivered in the git repo.
But the first command (building vlc, "./extras/package/ios/build.sh") fails with the same error message as the "buildMobileVLC.sh" script.

Here is the relevant console output:

Code: Select all

WARNING: Compiler does not indicate floating-point ABI, guessing soft. cd ffmpeg && make install-libs install-headers INSTALL libavformat/libavformat.a INSTALL libavresample/libavresample.a clang: warning: -: 'assembler' input unused when '-MM' is present clang: warning: argument unused during compilation: '-I .' clang: warning: argument unused during compilation: '-I .' clang: warning: argument unused during compilation: '-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk' clang: warning: argument unused during compilation: '-mcpu=cortex-a8' clang: warning: argument unused during compilation: '-miphoneos-version-min=5.0' clang: warning: argument unused during compilation: '-mcpu=cortex-a8' clang: warning: argument unused during compilation: '-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk' clang: warning: argument unused during compilation: '-miphoneos-version-min=5.0' clang: warning: argument unused during compilation: '-I /Users/paulstryck/MobileVLC/ImportedSources/vlc/contrib/arm-apple-darwin11/include' clang: warning: argument unused during compilation: '-D _ISOC99_SOURCE' clang: warning: argument unused during compilation: '-D _FILE_OFFSET_BITS=64' clang: warning: argument unused during compilation: '-D _LARGEFILE_SOURCE' clang: warning: argument unused during compilation: '-D PIC' clang: warning: argument unused during compilation: '-D HAVE_AV_CONFIG_H' AS libavcodec/arm/aacpsdsp_neon.o clang: warning: argument unused during compilation: '-I .' clang: warning: argument unused during compilation: '-I .' clang: warning: argument unused during compilation: '-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk' clang: warning: argument unused during compilation: '-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk' clang: warning: argument unused during compilation: '-I /Users/paulstryck/MobileVLC/ImportedSources/vlc/contrib/arm-apple-darwin11/include' clang: warning: argument unused during compilation: '-D _ISOC99_SOURCE' clang: warning: argument unused during compilation: '-D _FILE_OFFSET_BITS=64' clang: warning: argument unused during compilation: '-D _LARGEFILE_SOURCE' clang: warning: argument unused during compilation: '-D PIC' clang: warning: argument unused during compilation: '-mfloat-abi=softfp' clang: warning: argument unused during compilation: '-D HAVE_LRINTF' clang: warning: argument unused during compilation: '-std=gnu99' clang: warning: argument unused during compilation: '-D HAVE_STDINT_H' clang: warning: argument unused during compilation: '-fPIC' libavcodec/arm/aacpsdsp_neon.S:132:21: error: invalid operand for instruction add r4, r0, #38*64*4 ^ libavcodec/arm/aacpsdsp_neon.S:148:21: error: invalid operand for instruction add r4, r0, #38*64*4 ^ libavcodec/arm/aacpsdsp_neon.S:171:21: error: invalid operand for instruction add r4, r0, #38*64*4 ^ make[1]: *** [libavcodec/arm/aacpsdsp_neon.o] Error 1 make: *** [.ffmpeg] Error 2
I already tried to google this problem, but I found this error message only twice. And in both cases nobody responded to the posts.

I really hope, you guys could help me out...

Re: Building MobileVLC for iOS

Posted: 10 Aug 2012 11:40
by Jean-Baptiste Kempf
Noone will know, I am afraid. Except fixing the code...

Re: Building MobileVLC for iOS

Posted: 10 Aug 2012 16:57
by Negus
To solve this problem you have to disable ASM for FFMPEG.

Go to
MobileVLC/ImportedSources/vlc/contrib/src/ffmpeg/rules.mak
and at FFMPEGCONF variable add
--disable-asm
parameter.

As this:

FFMPEGCONF = \
--cc="$(CC)" \
--disable-doc \
--disable-decoder=libvpx \
--disable-decoder=bink \
--enable-libgsm \
--enable-libopenjpeg \
--disable-debug \
--disable-avdevice \
--disable-devices \
--disable-avfilter \
--disable-asm \
--disable-filters

But over i've found other problems...

Re: Building MobileVLC for iOS

Posted: 10 Aug 2012 17:53
by Jean-Baptiste Kempf
no ASM in ffmpeg will be slow...

Re: Building MobileVLC for iOS

Posted: 11 Aug 2012 14:00
by Sylver
To solve this problem you have to disable ASM for FFMPEG.

Go to
MobileVLC/ImportedSources/vlc/contrib/src/ffmpeg/rules.mak
and at FFMPEGCONF variable add
--disable-asm
parameter.

As this:

FFMPEGCONF = \
--cc="$(CC)" \
--disable-doc \
--disable-decoder=libvpx \
--disable-decoder=bink \
--enable-libgsm \
--enable-libopenjpeg \
--disable-debug \
--disable-avdevice \
--disable-devices \
--disable-avfilter \
--disable-asm \
--disable-filters

But over i've found other problems...
Hello,
Felix Paul Kühne gave me the root origin of this problem : clang is not supporting thumb2 optimization for now (it will be part of LLVM 3.2) !
in contrib/src/ffmpeg/rules.mak :

ifeq ($(ARCH),arm)
ifdef HAVE_NEON
# XXX: assumes CPU >= cortex-a8, and thus thumb2 able
-FFMPEGCONF += --enable-thumb
+FFMPEGCONF += --disable-thumb
endif
endif
endif