Building VLC for iOS (info & questions)

This forum is about all development around libVLC.
CrapulaX
Blank Cone
Blank Cone
Posts: 35
Joined: 12 Jun 2009 11:43

Building VLC for iOS (info & questions)

Postby CrapulaX » 19 Jan 2012 10:10

I am trying to build VLC for iOS and i am running in some difficulties ;o)

I gathered several pieces of information.

It seems there are 2 different methods to build :

a) Go to the http://www.videolan.org/vlc/download-ios.html web page, download the 3 archives :
   - VLC-iOS-1.1.0-sources
   - MediaLibraryKit-1.1.0-sources
   - MobileVLC-1.1.0-sources
And then try to build them.

b) Use the method described on the wiki : http://wiki.videolan.org/MobileVLC where a script should take care of all the process

As vlc 1.2 is out, I choose to use the b) method.

Other threads on the forum that give some information that one may found helpfull:
- forum.videolan.org/viewtopic.php?f=12&t=90271
- forum.videolan.org/viewtopic.php?f=12&t=96167&p=319742&hilit=ios#p319742
- forum.videolan.org/viewtopic.php?f=12&t=94821&p=321644&hilit=ios#p321644

External links :
- stackoverflow.com/questions/6320053/building-mobilevlc-armc7-ffmpeg-issue
- github.com/ciphor/ffmpeg4ios [/url] (a ffmpeg build for iOS)

Tips for the wiki method :

use this command line to build using the latest SDK

Code: Select all

./buildMobileVLC.sh -k iphoneos5.0
add this line to /mobileVLC/ImportedSources/vlc/extras/contrib/bootstrap to avoid an error during compilation

Code: Select all

(line 318) EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -isysroot ${IOS_SDK_ROOT}"
you may remove some external libs editing MobileVLC/ImportedSources/vlc/extras/contrib/src/Distributions/ios.mak

if the ffmpeg build fails, you can try editing MobileVLC/ImportedSources/vlc/extras/contrib/src/contrib-srcMak by adding those lines :

Code: Select all

--disable-yasm \ --disable-asm \
Questions :

Q1)
When using the wiki method, 'tools' are not built but according to the macosx build wiki page, we should build them first then external libs then vlc, so I am wondering if it is normal or not in the iOS context to skip this build...

Q2)
When using the wiki method, with how many .xcodeproj files shoud we deal ?
Here some of the 12 .xcodeproj files
  • MobileVLC.xcodeproj
    MobileMediaLibraryKit.xcodeproj
    VLCKit.xcodeproj
    MobileVLCKit.xcodeproj
    FRVLC.xcodeproj
    vlc.xcodeproj
(and we could gather info on which one relies on which one that would be great)
Last edited by CrapulaX on 23 Jan 2012 12:06, edited 1 time in total.

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37519
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: Building VLC for iOS (info & questions)

Postby Jean-Baptiste Kempf » 19 Jan 2012 11:59

1) the Mac build is using the new method and not the iOS one. iOS one should be updated...

2) all of them, I think.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

CrapulaX
Blank Cone
Blank Cone
Posts: 35
Joined: 12 Jun 2009 11:43

Re: Building VLC for iOS (info & questions)

Postby CrapulaX » 19 Jan 2012 14:53

Thanks Jean-Baptiste.

I found some information http://git.videolan.org/?p=MobileVLC.gi ... TO;hb=HEAD about the process

Code: Select all

WHAT IS HAPPENING buildMobileVLC.sh will download vlc.git, MediaLibraryKit.git in "ImportedSources" folder, and make sure we are correctly linking them by adding links in "External". Then it builds vlc and MobileVLCKit, MediaLibraryKit, and then MobileVLC. You can build each target manually by doing: 1. vlc Run $ cd ImportedSources/vlc; ./extras/package/ios/build.sh 2. MobileVLCKit $ open ImportedSources/vlc/projects/macosx/framework/MobileVLCKit.xcodeproj 3. MediaLibraryKit $ open ImportedSources/MediaLibraryKit/MobileMediaLibraryKit.xcodeproj 4. MobileVLC $ open MobileVLC.xcodeproj
I am still stuck in step 1, I managed to build ffmpeg but the following command :
configure ( in vlc directory ) raises an error :

Code: Select all

configure: error: cannot find install-sh or install.sh in autotools "."/autotools
error that is confirmed in the config.log

Code: Select all

configure:2595: error: cannot find install-sh or install.sh in autotools "."/autotools
as the ./autotools directory does not contain any of those files, I am wondering if this error message is very explicit...
Am I supposed to find those files in this directory ?

CrapulaX
Blank Cone
Blank Cone
Posts: 35
Joined: 12 Jun 2009 11:43

Re: Building VLC for iOS (info & questions)

Postby CrapulaX » 19 Jan 2012 16:56

auto-answering to me ;o)

running a ./boostrap command in vlc root directory will create the required files in autotools

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37519
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: Building VLC for iOS (info & questions)

Postby Jean-Baptiste Kempf » 20 Jan 2012 00:34

Yep.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

CrapulaX
Blank Cone
Blank Cone
Posts: 35
Joined: 12 Jun 2009 11:43

Re: Building VLC for iOS (info & questions)

Postby CrapulaX » 20 Jan 2012 11:03

Ok, now I am stuck during the configure step.
when it checks compilators for cross compile

Code: Select all

configure: error: C preprocessor "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-cpp-4.2 " fails sanity check

CrapulaX
Blank Cone
Blank Cone
Posts: 35
Joined: 12 Jun 2009 11:43

Re: Building VLC for iOS (info & questions)

Postby CrapulaX » 20 Jan 2012 11:27

commenting the "export CPP" line in build.sh allows to go further.

(the problem seems to be related to -E parameter and auto-detection of the compiler to use)
(i found useful info here : http://stackoverflow.com/questions/8478 ... ocessor-fa )

Adding the -E flag allows to go further

Code: Select all

export CXXCPP="${DEVROOT}/usr/bin/c++ -E"
(i am not 100% sure this will not cause problems later ;O° )

Now I am stuck here :

Code: Select all

checking for strtoll... no checking for swab... no checking for tdestroy... no checking for fdatasync... no checking for working strcoll... no checking for accept4... no checking for pipe2... no checking for eventfd... no checking for vmsplice... no checking for sched_getaffinity... no checking for library containing poll... no configure: error: poll() is required.
details in config.log

Code: Select all

ld: library not found for -lcrt1.10.5.o
the lib exists but only for simulator :

Code: Select all

locate crt1.10.5.o /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.2.sdk/usr/lib/crt1.10.5.o /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/usr/lib/crt1.10.5.o /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/usr/lib/crt1.10.5.o /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/lib/crt1.10.5.o /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/crt1.10.5.o /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/usr/lib/crt1.10.5.o /Developer/SDKs/MacOSX10.6.sdk/usr/lib/crt1.10.5.o /SDKs/MacOSX10.5.sdk/usr/lib/crt1.10.5.o /SDKs/MacOSX10.6.sdk/usr/lib/crt1.10.5.o /usr/lib/crt1.10.5.o
Why does it tries to link (or test linking) against 10.5 stuff as the target is iPhone not simulator...

An another error in config.log is

Code: Select all

-mmacosx-version-min not allowed with -miphoneos-version-min
that makes me think there is a problem in the script, 'miphoneos' is set explictly in build.sh but 'macosx-version-min' does not appear but seems to be added automatically ...

CrapulaX
Blank Cone
Blank Cone
Posts: 35
Joined: 12 Jun 2009 11:43

Re: Building VLC for iOS (info & questions)

Postby CrapulaX » 20 Jan 2012 23:44

I suspect that there is a mismatch between the mobilevlc build script and the 2.1.0 vlc

The mobilevlc build script set a -disable-mac-osx-defaults that seems to be not recognized any more and this conflicts because then when we end up with two flags : one for macosx and one for iphone, so during the configure process, an error is raised because it can not detect endianess

Code: Select all

configure: WARNING: unrecognized options: --enable-static-modules, --disable-macosx-defaults, --disable-macosx-qtcapture, --disable-remoteosd

CrapulaX
Blank Cone
Blank Cone
Posts: 35
Joined: 12 Jun 2009 11:43

Re: Building VLC for iOS (info & questions)

Postby CrapulaX » 21 Jan 2012 11:43

Still trying ;o)
Now I got a new error :

Code: Select all

libvlc configuration -------------------- version : 2.1.0-git system : darwin architecture : arm optimizations : yes build vlc executable : no To build vlc and its plugins, type `./compile' or `make'. [info] Building libvlc make all-recursive Making all in compat make all-am make[3]: Nothing to be done for `all-am'. Making all in doc make[2]: Nothing to be done for `all'. Making all in po Making all in share GEN vlc.desktop Making all in src GEN stamp-revision make all-recursive Making all in . CCLD libvlccore.la Undefined symbols for architecture armv7: "_vlc_poll", referenced from: -exported_symbol[s_list] command line option ld: symbol(s) not found for architecture armv7 collect2: ld returned 1 exit status make[4]: *** [libvlccore.la] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
The libvlc configuration message says that the architecture is 'arm', is this enough or is this should be armv6/armv7 ?

CrapulaX
Blank Cone
Blank Cone
Posts: 35
Joined: 12 Jun 2009 11:43

Re: Building VLC for iOS (info & questions)

Postby CrapulaX » 21 Jan 2012 16:51

I tried to rebuild for armv6 but it fails when building ffmpeg.


Anyone to team up to build vlc for iOS ?

CrapulaX
Blank Cone
Blank Cone
Posts: 35
Joined: 12 Jun 2009 11:43

Re: Building VLC for iOS (info & questions)

Postby CrapulaX » 21 Jan 2012 19:18

removing vlc-poll from src/libvlccore.sym allows to go further.

adding "--disable-macosx-qtkit" to the build script (instead of --disable-macosx-qtcapture) allows to go further

now I am stuck with a bunch of errors when compiling vlc/modules/access/avio files (curiously setting --disable-avio does not seem to have an effect to bypass the compilation of this module)

CrapulaX
Blank Cone
Blank Cone
Posts: 35
Joined: 12 Jun 2009 11:43

Re: Building VLC for iOS (info & questions)

Postby CrapulaX » 22 Jan 2012 15:27

After editing the build script, here's a new compilation error :

Code: Select all

Making all in audio_filter make all-am CC libaudiobargraph_a_plugin_la-audiobargraph_a.lo CC libchorus_flanger_plugin_la-chorus_flanger.lo CC libcompressor_plugin_la-compressor.lo CC libequalizer_plugin_la-equalizer.lo CC libkaraoke_plugin_la-karaoke.lo CC libnormvol_plugin_la-normvol.lo CC libparam_eq_plugin_la-param_eq.lo CC libscaletempo_plugin_la-scaletempo.lo CXX libspatializer_plugin_la-allpass.lo arm-apple-darwin10-llvm-g++-4.2: }: No such file or directory make[4]: *** [libspatializer_plugin_la-allpass.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [all] Error 2 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
This module contains some C++ files, and there are the first C++ files to be processed...

CrapulaX
Blank Cone
Blank Cone
Posts: 35
Joined: 12 Jun 2009 11:43

Re: Building VLC for iOS (info & questions)

Postby CrapulaX » 23 Jan 2012 10:08

The compilation now breaks when processing the opengl stuff. (ios-vout)

several values such as GL_LUMINANCE16 are not defined in OpenGL ES ("ES1/gl.h" or "ES2/gl.h" iPhone framework ) but only in Macosx frameworks...

:idea: I decided to disable this module to go on with the overall process.

The " BUILD AGGREGATE TARGET Aggregate static plugins OF PROJECT MobileVLCKit WITH CONFIGURATION Release " step finished with a "** BUILD SUCCEEDED **" message.

Now, the next step is "=== BUILD NATIVE TARGET MobileVLCKit OF PROJECT MobileVLCKit WITH CONFIGURATION Release ===" when the compilation breaks on the following errors :

Code: Select all

=== BUILD NATIVE TARGET MobileVLCKit OF PROJECT MobileVLCKit WITH CONFIGURATION Release === [...] /Users/crapulax/Documents/DEVE/TDF/VLC/VLC_IOS/VLC_WIKI/MobileVLC_new/MobileVLC/ImportedSources/vlc/projects/macosx/framework/MobileVLCKit/vlc-plugins.h:3:21: error: a parameter list without types is only allowed in a function definition [3] vlc_declare_plugin(access_attachment); ^ /Users/crapulax/Documents/DEVE/TDF/VLC/VLC_IOS/VLC_WIKI/MobileVLC_new/MobileVLC/ImportedSources/vlc/projects/macosx/framework/MobileVLCKit/vlc-plugins.h:4:2:{4:2-4:20}: warning: type specifier missing, defaults to 'int' [-Wimplicit-int,3] vlc_declare_plugin(access_avio); ^~~~~~~~~~~~~~~~~~

ggdiez
New Cone
New Cone
Posts: 2
Joined: 02 Feb 2012 20:18

Re: Building VLC for iOS (info & questions)

Postby ggdiez » 02 Feb 2012 21:08

Hello,

Also I am trying to run VLC in IOS but I have the same problems as you.

Code: Select all

[info] Preparing build dirs [info] Building [info] Building vlc [info] Building libvlc for the iOS [info] Using armv7 with SDK version 5.0 [info] Building contrib for iOS in '/Users/Gonzalo/Proyectos/StreamingApp/MobileVLC2/MobileVLC/ImportedSources/vlc/contrib-builddir-ios-arm-apple-darwin10' WARNING: This method of building third party libraries has been deprecated, and is not supported anymore. Building from the /contrib folder is recommended instead of /extras/contrib. make[1]: *** [.ffmpeg] Error 1 make: *** [using-src] Error 2
Has anyone got?
What are the steps?

Very thanks, I'm going crazy

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37519
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: Building VLC for iOS (info & questions)

Postby Jean-Baptiste Kempf » 06 Feb 2012 18:10

A lot of work is needed to revive this port.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

tittbit
Blank Cone
Blank Cone
Posts: 17
Joined: 10 Mar 2012 19:40

Re: Building VLC for iOS (info & questions)

Postby tittbit » 10 Mar 2012 20:02

i could help. but its not a small project, it involves a lot if work, no body wants to spend his time in a project unless he is being paid for that
Life is not finding yourself, it is discovering yourself.

Rémi Denis-Courmont
Developer
Developer
Posts: 15133
Joined: 07 Jun 2004 16:01
VLC version: master
Operating System: Linux
Contact:

Re: Building VLC for iOS (info & questions)

Postby Rémi Denis-Courmont » 11 Mar 2012 07:54

Empirically, you nailed it. The only two folks that really worked on the iOS port were either paid or promoting their business.
On the other hand, I don't think anyone will invest in the iOS port since it cannot be distributed via the store currently.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37519
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: Building VLC for iOS (info & questions)

Postby Jean-Baptiste Kempf » 12 Mar 2012 13:47

There is a patch around, to do it.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

sarkas
New Cone
New Cone
Posts: 2
Joined: 11 Apr 2012 08:44

Re: Building VLC for iOS (info & questions)

Postby sarkas » 11 Apr 2012 16:41

What would the patch be then? Can you point me there, please?


Return to “Development around libVLC”

Who is online

Users browsing this forum: No registered users and 7 guests