[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