[vlc-devel] Notes on building under MacOS-X
Philip Edelbrock
phil at philedelbrock.com
Mon Dec 13 01:34:21 CET 2004
Hello, I built and have been playing with VLC on my Mac and ran across
a few oddities that I thought might be helpful to report:
Checkout from SVN vlc-trunk up to date as of Dec 12.
% ./config.status -V
vlc config.status 0.8.2-svn
configured by ./configure, generated by GNU Autoconf 2.57,
with options "'--prefix=/sw' '--enable-macosx'
'--with-mad-tree=./libmad-0.15.1b'
'--with-ffmpeg-tree=./ffmpeg-cvs/ffmpeg' '--disable-xvideo'
'--disable-glx' '--enable-opengl'
'--with-libmpeg2-tree=./mpeg2dec-0.4.1-cvs'
'--with-dvbpsi-tree=./libdvbpsi-20041028' 'CFLAGS=-mtune=G4 -mcpu=G4
-fast' 'CXXFLAGS=-mtune=G4 -mcpu=G4 -mtune=G4 -fast -mcpu=G4'"
One change in vlc-config on this line to add optimizations for my
platform:
cflags_optim=" -O3 -ffast-math -funroll-loops -fast -mcpu=G4 -mtune=G4
-falign-loops=16"
1) strange configuration warning?
configure warning:
checking net/if.h usability... no
checking net/if.h presence... yes
configure: WARNING: net/if.h: present but cannot be compiled
configure: WARNING: net/if.h: check for missing prerequisite headers?
configure: WARNING: net/if.h: proceeding with the preprocessor's result
configure: WARNING: ## ------------------------------------ ##
configure: WARNING: ## Report this to bug-autoconf at gnu.org. ##
configure: WARNING: ## ------------------------------------ ##
2) Seemingly missing OSD.h include in playlist.m
error:
g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -DSYS_DARWIN -I../../../include
`top_builddir="../../.." ../../../vlc-config --objcflags builtin macosx`
-Wsign-compare -Wall -no-cpp-precomp -D_INTL_REDIRECT_MACROS -pipe -c
-o
libmacosx_a-playlist.o `test -f 'playlist.m' || echo './'`playlist.m
playlist.m:56:17: OSD.h: No such file or directory
diff:
55a56
> #include <OSD.h>
3) Multiple wxEntry definitions.
error:
g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -DSYS_DARWIN -I../../../include
`top_builddir="../../.." ../../../vlc-config --cxxflags plugin
wxwindows`
-Wsign-compare -Wsign-compare -Wall -no-cpp-precomp
-D_INTL_REDIRECT_MACROS -pipe -c -o libwxwindows_plugin_a-wxwindows.o
`test -f 'wxwindows.cpp' || echo './'`wxwindows.cpp
wxwindows.cpp: In function `void Init(intf_thread_t*)':
wxwindows.cpp:256: error: call of overloaded `wxEntry(int&, char*[1])'
is
ambiguous
/sw/include/wx-2.5/wx/init.h:45: error: candidates are: int
wxEntry(int&,
wxChar**)
wxwindows.cpp:51: error: int wxEntry(int, char**, bool
= 1)
diff ./modules/gui/wxwindows/wxwindows.cpp
./modules/gui/wxwindows/wxwindows.cpp-stock
254a255,256
> #else
> wxEntry( i_args, p_args );
4) Broken references to vout_OSDMessage. I simply commented out all
the references to the funtion to get around this. (Obviously not a
good fix.)
error:
gcc -Wsign-compare -Wall -no-cpp-precomp -D_INTL_REDIRECT_MACROS -pipe
-o
vlc src/vlc-vlc.o lib/libvlc.a ./modules/misc/memcpy/libmemcpyaltivec.a
./modules/video_chroma/libi420_yuy2_altivec.a
./modules/audio_filter/converter/libmpgatofixed32.a
./modules/codec/ffmpeg/libffmpeg.a ./modules/codec/libquicktime.a
./modules/audio_output/libcoreaudio.a ./modules/gui/macosx/libmacosx.a
-L/sw/lib -framework vecLib -lpthread -lm -liconv -lintl
-Wl,-multiply_defined,suppress -all_load -framework vecLib -lmad
-L/Users/phil/Desktop/vlc-0.8.1/libmad-0.15.1b/.libs
-L/Users/phil/Desktop/vlc-0.8.1/ffmpeg-0.4.8/libavformat
/Users/phil/Desktop/vlc-0.8.1/ffmpeg-0.4.8/libavformat/libavformat.a
-L/Users/phil/Desktop/vlc-0.8.1/ffmpeg-0.4.8/libavcodec
/Users/phil/Desktop/vlc-0.8.1/ffmpeg-0.4.8/libavcodec/libavcodec.a -lz
-lm -all_load -framework QuickTime -framework Carbon -framework
CoreAudio
-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime
-lobjc -ObjC -framework OpenGL
ld: Undefined symbols:
_vout_OSDMessage
temp fix:
commented out references to vout_OSDMessage in lirc.c, hotkeys.c,
controls.m, and playlist.m
5) Case-sensitive directory reference. This may not be a problem when
building under HFS(?), I'm building on UFS, so I needed to make the
capitalization fix to continue.
error:
** BUILD SUCCEEDED **
cp -r ./tmp/extras/MacOSX/build/vlc.bundle \
./VLC.app
cp: ./tmp/extras/MacOSX/build/vlc.bundle: No such file or directory
Need to fix capitalization for case sensitive filesystems:
diff:
Makefile.am
3698c3698
< @HAVE_DARWIN_TRUE@ cp -r
$(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \
---
> @HAVE_DARWIN_TRUE@ cp -r
$(top_builddir)/tmp/extras/MacOSX/build/vlc.bundle \
Other notes: Currently the playlist window does not function. I'm not
sure why not. :'( The button toggles, but no playlist appears.
Thanks for the great work! I hope this feedback helps.
Phil
--
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html
More information about the vlc-devel
mailing list