[vlc-devel] complicated process building vlc 1.0.0 rc1 under MacOSX 10.5.7, PPC

philipp videolan.org at biermann.org
Sun May 17 19:19:40 CEST 2009


It is not very simple to make a sucessful build - for me, no wonder  
not many people have done it.


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.








More information about the vlc-devel mailing list