[vlc-devel] complicated process building vlc 1.0.0 rc1 under MacOSX 10.5.7, PPC
Jean-Paul Saman
jpsaman at videolan.org
Sun May 17 19:58:00 CEST 2009
philipp wrote:
> It is not very simple to make a sucessful build - for me, no wonder not
> many people have done it.
Me, and in fact it is quite simple just follow
http://wiki.videolan.org/OSXCompile
Basic procedure which assumes XCode-3.1.2 is installed:
1) git clone git://git.videolan.org/vlc.git vlc.git
2) cd vlc.git/extras/contrib
3) ./bootstrap
4) make bin (or make src if you are adventurus ;))
5) cd ../../
6) export CC="/Developer/usr/bin/llvm-gcc-4.2"
export OBJC="/Developer/usr/bin/llvm-gcc-4.2"
export CXX="/Developer/usr/bin/llvm-g++-4.2"
7) ./configure <your pile of favorite switches>
8) make
>
> Below, my procedure. I might be possible, that some of these problems
> are my fault, but I tried to make it analog to what is documented in the
> wiki.
> This does not happen when I checkout a vlc tree using git.
> only, when I use this tarball:
> http://mirror.informatik.uni-mannheim.de/pub/mirrors/videolan.org/testing/vlc-1.0.0-rc1/vlc-1.0.0-rc1.tar.bz2
>
> Please correcte me, If I made something wrong - thank you.
>
> 2 Things are important:
> the ffmpeg library and the x264 which are downladed from
> ftp.videolan.org cannot be used to build vlc.
> ffmpeg: compiled with the wrong switch ( --mdynamic-no-pic ), this is
> corrected when you make the src,
> but then, in the source libfaac is enabled an this results in binary
> which you cannot distribute (?)
>
> the x264 library suffers from the same problem as the ffmpeg. But I have
> not found a way to build it using the llvm compiler. It only will link
> to vlc if I manually change the compiler to gcc4
>
> To make it possible building vlc without building the ffmpeg and x264
> sources working binaries should be uploaded to the ftp server and
> included in the contribs tarball.
>
>
>
>
>
> Following a log what happens.
>
>
> ----------------------
>
> From the main directory:
> cd extras/contrib/
> ./bootstrap
> ./make
>
>
>
> cd ../../
> bootstrap
> ./configure --enable-release
>
> :
> export MACOSX_DEPLOYMENT_TARGET=10.5
> make all-recursive
> Making all in po
> Making all in compat
> /bin/sh ../libtool --tag=CC --mode=compile
> /Developer/usr/bin/llvm-gcc-4.2 -std=gnu99 -isysroot
> /Developer/SDKs/MacOSX10.5.sdk -arch ppc -mmacosx-version-min=10.5
> -DHAVE_CONFIG_H -I. -I.. -I../include -I../include
> -I/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/./extras/contrib/include
> -DSYS_DARWIN
> -I/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/./extras/contrib/include
> -D_INTL_REDIRECT_MACROS -DMACOSX_DEPLOYMENT_TARGET=10.5 -Wall -Wextra
> -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align
> -Wwrite-strings -Wmissing-prototypes -Wvolatile-register-var
> -Werror-implicit-function-declaration -MT strndup.lo -MD -MP -MF
> .deps/strndup.Tpo -c -o strndup.lo strndup.c
> ../libtool: line 844: X--tag=CC: command not found
> ../libtool: line 877: libtool: ignoring unknown tag : command not found
> ../libtool: line 844: X--mode=compile: command not found
> ../libtool: line 1011: *** Warning: inferring the mode of operation is
> deprecated.: command not found
> ../libtool: line 1012: *** Future versions of Libtool will require
> --mode=MODE be specified.: command not found
> ../libtool: line 1155: X/Developer/usr/bin/llvm-gcc-4.2: No such file or
> directory
> ../libtool: line 1155: X-std=gnu99: command not found
> ../libtool: line 1155: X-isysroot: command not found
> ../libtool: line 1155: X/Developer/SDKs/MacOSX10.5.sdk: No such file or
> directory
> ../libtool: line 1155: X-arch: command not found
> ../libtool: line 1155: Xppc: command not found
> ../libtool: line 1155: X-mmacosx-version-min=10.5: command not found
> ../libtool: line 1155: X-DHAVE_CONFIG_H: command not found
> ../libtool: line 1155: X-I.: command not found
> ../libtool: line 1155: X-I..: command not found
> ../libtool: line 1155: X-I../include: No such file or directory
> ../libtool: line 1155: X-I../include: No such file or directory
> ../libtool: line 1155:
> X-I/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/./extras/contrib/include: No
> such file or directory
> ../libtool: line 1155: X-DSYS_DARWIN: command not found
>
> -------------
> second try deleted everything, then, no bootstrap this time:
> ./configure --enable-release
>
>
> :
> libvlc configuration
> --------------------
> version : 1.0.0-rc1
> system : darwin
> architecture : powerpc altivec
> build flavour : release
> vlc aliases : cvlc rvlc nvlc
> plugins/bindings :
>
> You can tune the compiler flags in vlc-config.
> To build vlc and its plugins, type `./compile' or `make'.
>
> ------------------------------
> make ........
>
> :
> libtool: link: /Developer/usr/bin/llvm-gcc-4.2 -std=gnu99 -isysroot
> /Developer/SDKs/MacOSX10.5.sdk -arch ppc -mmacosx-version-min=10.5 -o
> .libs/libavcodec_plugin.dylib -bundle
> .libs/libavcodec_plugin_la-avcodec.o .libs/libavcodec_plugin_la-video.o
> .libs/libavcodec_plugin_la-audio.o
> .libs/libavcodec_plugin_la-deinterlace.o
> .libs/libavcodec_plugin_la-fourcc.o .libs/libavcodec_plugin_la-chroma.o
> .libs/libavcodec_plugin_la-encoder.o
> .libs/libavcodec_plugin.lax/libcompat.a/strndup.o
> .libs/libavcodec_plugin.lax/libcompat.a/strnlen.o
> -L/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/./extras/contrib/lib -lpthread
> -L///Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/extras/contrib/lib -lavcodec
> -lz -lbz2
> ///Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/extras/contrib/lib/libfaac.a
> -lgsm
> ///Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/extras/contrib/lib/libmp3lame.a
> -lavutil -lm ../../../src/.libs/libvlccore.dylib -L/usr/lib -isysroot
> /Developer/SDKs/MacOSX10.5.sdk -arch ppc -mmacosx-version-min=10.5
> -mtune=G4 -Wl,-read_only_relocs -Wl,suppress
> -Wl,-headerpad_max_install_names
> ld: pointer in read-only segment not allowed in slidable image, used in
> lJTI3_0 from
> /Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/./extras/contrib/lib/libavcodec.a(audioconvert.o)
>
> collect2: ld returned 1 exit status
> make[6]: *** [libavcodec_plugin.la] Error 1
>
> ------------
> cd extras/contrib/src
> make .ffmpeg
>
> .
> .
> .
> .
> :
> (cd ffmpeg; CC="/Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2"
> CXX="/Developer/usr/llvm-gcc-4.2/bin/llvm-g++-4.2" LD="ld -arch ppc
> -syslibroot /Developer/SDKs/MacOSX10.5.sdk" ./configure
> --enable-libmp3lame --enable-libfaac --enable-libgsm
> --cc=/Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 --arch=ppc
> --enable-gpl --enable-postproc --disable-ffserver --disable-ffmpeg
> --disable-ffplay --disable-devices --disable-protocols --disable-network
> --prefix=/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/extras/contrib
> --extra-cflags="-I/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/extras/contrib/include
> -arch ppc -mtune=G4 -DMACOSX_DEPLOYMENT_TARGET=10.5 -isysroot
> /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -DNDEBUG
> -isystem /Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/extras/contrib/include
> -DRUNTIME_CPUDETECT"
> --extra-ldflags="-L/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/extras/contrib/lib
> -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk
> -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk" --enable-libmp3lame
> --enable-libfaac --enable-libgsm
> --cc=/Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 --arch=ppc
> --enable-gpl --enable-postproc --disable-ffserver --disable-ffmpeg
> --disable-ffplay --disable-devices --disable-protocols --disable-network
> --disable-shared --enable-static && make && make install-libs
> install-headers)
> libfaac is nonfree and --enable-nonfree is not specified.
>
> If you think configure made a mistake, make sure you are using the latest
> version from SVN. If the latest version fails, report the problem to the
> ffmpeg-user at mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net.
> Include the log file "config.err" produced by configure as this will help
> solving the problem.
> make: *** [.ffmpeg] Error 1
>
> ( removed --enable-libaac )
>
> .
> .
> .
> ffmpeg ok.
> cd ( main )
> make
>
> :
> /bin/sh ../../libtool --tag=CC --mode=link
> /Developer/usr/bin/llvm-gcc-4.2 -std=gnu99 -isysroot
> /Developer/SDKs/MacOSX10.5.sdk -arch ppc -mmacosx-version-min=10.5
> `top_srcdir="../.." top_builddir="../.." ../../vlc-config --cflags
> plugin libx264_plugin.la`
> -I/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/./extras/contrib/include
> -D_INTL_REDIRECT_MACROS -DMACOSX_DEPLOYMENT_TARGET=10.5 -Wall -Wextra
> -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align
> -Wwrite-strings -Wmissing-prototypes -Wvolatile-register-var
> -Werror-implicit-function-declaration -rpath
> '/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/vlc_install_dir/lib/vlc/codec'
> -avoid-version -module -export-symbol-regex ^vlc_entry -shrext .dylib
> -no-undefined `top_srcdir="../.." top_builddir="../.." ../../vlc-config
> --ldflags plugin libx264_plugin.la`
> -L/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/./extras/contrib/lib
> -Wl,-headerpad_max_install_names -o libx264_plugin.la
> libx264_plugin_la-x264.lo `top_srcdir="../.." top_builddir="../.."
> ../../vlc-config -libs plugin libx264_plugin.la` ../../src/libvlccore.la
> ../../compat/libcompat.la
> libtool: link: warning:
> `/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/./extras/contrib/lib/libgcrypt.la'
> seems to be moved
> libtool: link: warning:
> `/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/./extras/contrib/lib/libintl.la'
> seems to be moved
> libtool: link: (cd .libs/libx264_plugin.lax/libcompat.a && ar x
> "/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/modules/codec/../../compat/.libs/libcompat.a")
>
> libtool: link: /Developer/usr/bin/llvm-gcc-4.2 -std=gnu99 -isysroot
> /Developer/SDKs/MacOSX10.5.sdk -arch ppc -mmacosx-version-min=10.5 -o
> .libs/libx264_plugin.dylib -bundle .libs/libx264_plugin_la-x264.o
> .libs/libx264_plugin.lax/libcompat.a/strndup.o
> .libs/libx264_plugin.lax/libcompat.a/strnlen.o
> -L///Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/extras/contrib/lib -lx264
> -L/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/./extras/contrib/lib -lpthread
> -lmx -lm ../../src/.libs/libvlccore.dylib -L/usr/lib -isysroot
> /Developer/SDKs/MacOSX10.5.sdk -arch ppc -mmacosx-version-min=10.5
> -mtune=G4 -Wl,-read_only_relocs -Wl,suppress
> -Wl,-headerpad_max_install_names
> ld: pointer in read-only segment not allowed in slidable image, used in
> lJTI57_0 from /tmp/lto.o
> collect2: ld returned 1 exit status
> make[5]: *** [libx264_plugin.la] Error 1
> make[4]: *** [all-recursive] Error 1
> make[3]: *** [all] Error 2
> make[2]: *** [all-recursive] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
>
> -----
> make .x264
>
> cd x264
> config.mak:
> CC=/usr/bin/gcc instead of CC=/Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2
> make clean
> make
> make install
>
> cd ( main )
> make
> .
> .
> .
>
> :
> /usr/bin/install -c -m 644 '../include/vlc_xml.h'
> '/Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/vlc_install_dir/include/vlc/plugins/vlc_xml.h'
>
> Making install in test
> make[6]: Nothing to be done for `install-exec-am'.
> make[6]: Nothing to be done for `install-data-am'.
> rm -Rf ./tmp
> mkdir -p "./tmp/extras/package/macosx"
> rm -Rf ./VLC.app
> for i in vlc.xcodeproj Resources README.MacOSX.rtf; do \
> cp -R ./extras/package/macosx/$i ./tmp/extras/package/macosx/; \
> done
> REVISION=`git describe --always` && \
> cat ./extras/package/macosx/Info.plist | \
> sed "s/#REVISION#/$REVISION/g" > ./tmp/extras/package/macosx/Info.plist
> fatal: Not a git repository (or any of the parent directories): .git
> make[2]: *** [VLC.app] Error 128
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
>
> Makefile:
> deleted:
> all lines with:
> "git describe"
>
> make
> ok.
> I have a running app, but no package.
> ------
>
> make VLC-release.app
>
> :
> pbxcp: VLM.nib: No such file or directory
> CpResource
> build/Default/VLC.bundle/Contents/Resources/English.lproj/CoreDialogs.nib
> Resources/English.lproj/CoreDialogs.nib
> CpResource
> build/Default/VLC.bundle/Contents/Resources/English.lproj/ErrorPanel.nib
> Resources/English.lproj/ErrorPanel.nib
> CpResource build/Default/VLC.bundle/Contents/Resources/add_schedule.png
> Resources/add_schedule.png
> pbxcp: add_schedule.png: No such file or directory
> CpResource build/Default/VLC.bundle/Contents/Resources/add_vod.png
> Resources/add_vod.png
> pbxcp: add_vod.png: No such file or directory
> CpResource build/Default/VLC.bundle/Contents/Resources/add_broadcast.png
> Resources/add_broadcast.png
> pbxcp: add_broadcast.png: No such file or directory
> ** BUILD FAILED **
>
> The following build commands failed:
> vlc:
> CpResource
> build/Default/VLC.bundle/Contents/Resources/English.lproj/VLM.nib
> Resources/English.lproj/VLM.nib
> CpResource
> build/Default/VLC.bundle/Contents/Resources/add_schedule.png
> Resources/add_schedule.png
> CpResource build/Default/VLC.bundle/Contents/Resources/add_vod.png
> Resources/add_vod.png
> CpResource
> build/Default/VLC.bundle/Contents/Resources/add_broadcast.png
> Resources/add_broadcast.png
> (4 failures)
>
> /usr/bin/install -c -d ./VLC-release.app/Contents/MacOS
> PRODUCT="VLC-release.app" ACTION="release-makefile" src_dir=.
> build_dir=. sh ./projects/macosx/framework/Pre-Compile.sh
> sh: ./projects/macosx/framework/Pre-Compile.sh: No such file or directory
> make: *** [VLC-release.app] Error 127
>
> Manually copied from "git" tree:
> cp -pR
> /Volumes/MacintoshHD/vlc/vlc/extras/package/macosx/Resources/English.lproj/VLM.nib
> extras/package/macosx/Resources/English.lproj/
> cp
> /Volumes/MacintoshHD/vlc/vlc/extras/package/macosx/Resources/add_schedule.png
> extras/package/macosx/Resources/
> cp
> /Volumes/MacintoshHD/vlc/vlc/extras/package/macosx/Resources/add_vod.png
> extras/package/macosx/Resources/
> cp
> /Volumes/MacintoshHD/vlc/vlc/extras/package/macosx/Resources/add_broadcast.png
> extras/package/macosx/Resources/
>
> Then, again:
> make VLC-release.app
> .
> .
> .
> Touch
> /Volumes/MacintoshHD/vlc/vlc-1.0.0-rc1/tmp/extras/package/macosx/build/Default/VLC.bundle
>
> ** BUILD SUCCEEDED **
> /usr/bin/install -c -d ./VLC-release.app/Contents/MacOS
> PRODUCT="VLC-release.app" ACTION="release-makefile" src_dir=.
> build_dir=. sh ./projects/macosx/framework/Pre-Compile.sh
> sh: ./projects/macosx/framework/Pre-Compile.sh: No such file or directory
> make: *** [VLC-release.app] Error 127
>
> copied from git-vlc the folder projects/macosx to current tree.
>
> again,
> make VLC-release.app
> .
> .
> .
>
> final sucess - a working application !
>
> make package-macosx ok.
>
>
>
>
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
More information about the vlc-devel
mailing list