[vlc-devel] Problems (and some workarounds) building VLC on Mac OS X 10.4.11

Dave Still dave at stilldesigning.com
Fri Jan 25 01:20:35 CET 2008


Given that the nightlies for OS X are not working on Tiger at the  
moment, I decided to try building the latest from svn on my MacBook  
Pro with XCode 2.5 and I ran into a few snags.  Here are the issues  
that I ran into along with the workarounds that I came up with:

latest ffmpeg does not bulid - I got around this by get the svn  
source from 2007-12-21.   A more recent version may work, and with a  
little more time on my hands I might be able to find the patch that  
broke it, but it errored out while trying to build swscale.  This  
seems to be a recurring issue with ffmpeg builds as the contribs  
script just gets the latest version from the svn repository.  Perhaps  
a more stable solution would be to have the script pull a known  
working revision of ffmpeg and update that revision periodically?

libcaca does not have installation permissions - the libcaca library  
tries to install files for ruby in a global are which, of course, it  
does not have permissions for.  I worked around this by disabling  
ruby support in libcaca.

cddax support is broken - I don't know specifically what happened,  
but the build halted when it got to the cddax module.  The workaround  
was to remove cddax support from the Mac OS X defaults.  Error  
messages from build:

  gcc -std=gnu99 -mmacosx-version-min=10.4 -DHAVE_CONFIG_H -I. -I. - 
I../../.. -I/Users/admin/Source/vlc/vlc-trunk/./extras/contrib/ 
include -DSYS_DARWIN -I../../../include -I../../../include -I/usr/ 
local/include -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 - 
D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -DLOCALEDIR=\"/usr/ 
local/share/locale\" -DDATA_PATH=\"/usr/local/share/vlc\" - 
DPLUGIN_PATH=\"/usr/local/lib/vlc\" -D__LIBVLC__ -D__PLUGIN__ - 
DMODULE_NAME=cddax -DMODULE_NAME_IS_cddax -O2 -ffast-math -funroll- 
loops -march=pentium-m -mtune=prescott -fomit-frame-pointer - 
fvisibility=hidden -I/Users/admin/Source/vlc/vlc-trunk/extras/contrib/ 
include -I/Users/admin/Source/vlc/vlc-trunk/extras/contrib/include -I/ 
Users/admin/Source/vlc/vlc-trunk/./extras/contrib/include - 
D_INTL_REDIRECT_MACROS -DMACOSX_DEPLOYMENT_TARGET=10.4 -Wall -Wextra - 
Wno-unused-parameter -Wsign-compare -Wundef -Wpointer-arith -Wbad- 
function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -MT  
libcddax_plugin_la-access.lo -MD -MP -MF .deps/libcddax_plugin_la- 
access.Tpo -c access.c  -fno-common -DPIC -o .libs/libcddax_plugin_la- 
access.o
In file included from ../../../include/vlc/vlc.h:155,
                  from callback.h:24,
                  from access.c:29:
../../../include/vlc_common.h:34:2: error: #error You probably forgot  
to include config.h!!
In file included from ../../../include/vlc/vlc.h:155,
                  from callback.h:24,
                  from access.c:29:
../../../include/vlc_common.h:94: error: conflicting types for  
'uintptr_t'
/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/stdint.h:83: error:  
previous declaration of 'uintptr_t' was here
../../../include/vlc_common.h:95: error: conflicting types for  
'intptr_t'
/usr/lib/gcc/i686-apple-darwin8/4.0.1/include/stdint.h:78: error:  
previous declaration of 'intptr_t' was here
../../../include/vlc_common.h:113:23: error: malloc.h: No such file  
or directory
In file included from ../../../include/vlc_common.h:471,
                  from ../../../include/vlc/vlc.h:155,
                  from callback.h:24,
                  from access.c:29:
../../../include/vlc_modules_macros.h:76:7: warning:  
"HAVE_ATTRIBUTE_VISIBILITY" is not defined
...[snipped]

etc.  Workaround was to disable cddax support from the default

AppleRemote support appears to break the build.  Here's the output  
from the build process:


Making all in macosx
if /bin/sh ../../../libtool --tag=CC --mode=compile gcc -mmacosx- 
version-min=10.4 -DHAVE_CONFIG_H -I. -I. -I../../..   -I/Users/admin/ 
Source/vlc/vlc-trunk/./extras/contrib/include -DSYS_DARWIN -I../../../ 
include -I../../../include `top_builddir="../../.." ../../../vlc- 
config --objcflags plugin macosx` -I/Users/admin/Source/vlc/vlc- 
trunk/./extras/contrib/include -D_INTL_REDIRECT_MACROS -std=gnu99 - 
DMACOSX_DEPLOYMENT_TARGET=10.4 -MT libmacosx_plugin_la-AppleRemote.lo  
-MD -MP -MF ".deps/libmacosx_plugin_la-AppleRemote.Tpo" -c -o  
libmacosx_plugin_la-AppleRemote.lo `test -f 'AppleRemote.m' || echo  
'./'`AppleRemote.m; \
then mv -f ".deps/libmacosx_plugin_la-AppleRemote.Tpo" ".deps/ 
libmacosx_plugin_la-AppleRemote.Plo"; else rm -f ".deps/ 
libmacosx_plugin_la-AppleRemote.Tpo"; exit 1; fi
mkdir .libs
  gcc -mmacosx-version-min=10.4 -DHAVE_CONFIG_H -I. -I. -I../../.. -I/ 
Users/admin/Source/vlc/vlc-trunk/./extras/contrib/include - 
DSYS_DARWIN -I../../../include -I../../../include -I/usr/local/ 
include -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE - 
D_REENTRANT -D_THREAD_SAFE -DLOCALEDIR=\"/usr/local/share/locale\" - 
DDATA_PATH=\"/usr/local/share/vlc\" -DPLUGIN_PATH=\"/usr/local/lib/vlc 
\" -D__LIBVLC__ -D__PLUGIN__ -DMODULE_NAME=macosx - 
DMODULE_NAME_IS_macosx -O2 -ffast-math -funroll-loops -march=pentium- 
m -mtune=prescott -fomit-frame-pointer -fobjc-exceptions -I/Users/ 
admin/Source/vlc/vlc-trunk/./extras/contrib/include - 
D_INTL_REDIRECT_MACROS -std=gnu99 -DMACOSX_DEPLOYMENT_TARGET=10.4 -MT  
libmacosx_plugin_la-AppleRemote.lo -MD -MP -MF .deps/ 
libmacosx_plugin_la-AppleRemote.Tpo -c AppleRemote.m  -fno-common - 
DPIC -o .libs/libmacosx_plugin_la-AppleRemote.o
In file included from ../../../include/vlc/vlc.h:155,
                  from intf.h:27,
                  from AppleRemote.m:57:
../../../include/vlc_common.h:34:2: error: #error You probably forgot  
to include config.h!!
In file included from ../../../include/vlc/vlc.h:155,
                  from intf.h:27,
                  from AppleRemote.m:57:
../../../include/vlc_common.h:94: error: conflicting types for  
'uintptr_t'
/usr/include/i386/types.h:103: error: previous declaration of  
'uintptr_t' was here
../../../include/vlc_common.h:95: error: conflicting types for  
'intptr_t'
/usr/include/i386/types.h:99: error: previous declaration of  
'intptr_t' was here
../../../include/vlc_common.h:113:23: error: malloc.h: No such file  
or directory
In file included from ../../../include/vlc_common.h:525,
                  from ../../../include/vlc/vlc.h:155,
                  from intf.h:27,
                  from AppleRemote.m:57:
---[snipped]

And that's where my efforts end.  I couldn't see immediately how one  
could disable Apple Remote support, so I haven't gotten any further.   
Any assistance in getting vlc to build would be greatly appreciated.   
The ultimate goal of this is to have a latest and greatest 0.9.0-svn  
build to test FLV transcoding and streaming for my TyStreamer  
project.  I'm having some issues with the latest Tiger-compatible  
build, and I wanted to test against latest before trying to report bugs.

Thanks,
- Dave

--
David E. Still
Senior Developer
Still Designing
http://www.stilldesigning.com






More information about the vlc-devel mailing list