Problem building VLC on OS X 10.6.1
Posted: 09 Oct 2009 00:31
I am trying to compile the current state of VLC from git on a Mac OS X 10.6.1 box with an Intel Core 2 Duo and the XCode from the 10.6 DVD using the method described at
http://wiki.videolan.org/OSXCompile
I handled the Missing libiconv.la error using the method described in the wiki.
Regular 64-bit compiling fails at
./configure --enable-debug --disable-nls
with
configure: error: Cannot find libmad library...
Maybe there's no 64-bit library or such, but in vlc/extras/contrib/lib/ there are several libmad files and symlinks including libmad.0.2.1.dylib and libmad.a.
Trying to build 32-bit, my configure line is
./configure CFLAGS="-arch i386" CXXFLAGS="-arch i386" LDFLAGS="-arch i386" OBJCFLAGS="-arch i386" --enable-debug --disable-nls
Much compiling happens, then things start to go wrong with this output:
...
Making all in macosx
OBJC libmacosx_plugin_la-AppleRemote.lo
OBJC libmacosx_plugin_la-about.lo
OBJC libmacosx_plugin_la-applescript.lo
OBJC libmacosx_plugin_la-controls.lo
controls.m: In function ‘-[VLCControls telxTransparent:]’:
controls.m:532: warning: ‘vlc_object_find_name’ is deprecated (declared at ../../../include/vlc_objects.h:81)
controls.m: In function ‘-[VLCControls telxNavLink:]’:
controls.m:560: warning: ‘vlc_object_find_name’ is deprecated (declared at ../../../include/vlc_objects.h:81)
OBJC libmacosx_plugin_la-equalizer.lo
OBJC libmacosx_plugin_la-coredialogs.lo
OBJC libmacosx_plugin_la-intf.lo
OBJC libmacosx_plugin_la-macosx.lo
OBJC libmacosx_plugin_la-misc.lo
OBJC libmacosx_plugin_la-open.lo
OBJC libmacosx_plugin_la-playlist.lo
In file included from playlist.m:42:
../../../include/vlc_keys.h:89: error: expected declaration specifiers or ‘...’ before ‘KeyToString’
../../../include/vlc_keys.h:89: error: expected declaration specifiers or ‘...’ before ‘(’ token
../../../include/vlc_keys.h:89: warning: return type defaults to ‘int’
../../../include/vlc_keys.h: In function ‘VLC_EXPORT’:
../../../include/vlc_keys.h:89: error: expected declaration specifiers before ‘LIBVLC_USED’
../../../include/vlc_keys.h:90: error: expected declaration specifiers before ‘VLC_EXPORT’
../../../include/vlc_keys.h:205: error: storage class specified for parameter ‘vlc_key_t’
In file included from ../../../include/vlc_fixups.h:54,
from ../../../config.h:922,
from intf.h:28,
from playlist.m:44:
...
Lines 89-90 from vlc_keys.h read
No luck compiling on 10.5.5 with XCode 3.1.4 or with the 1.0.2 source release either at this point.
Any ideas about what might cause the problem with the VLC_EXPORT(..)s? Ultimately I'm hoping to produce a 32-bit debug build of libVLC.
Thanks!
http://wiki.videolan.org/OSXCompile
I handled the Missing libiconv.la error using the method described in the wiki.
Regular 64-bit compiling fails at
./configure --enable-debug --disable-nls
with
configure: error: Cannot find libmad library...
Maybe there's no 64-bit library or such, but in vlc/extras/contrib/lib/ there are several libmad files and symlinks including libmad.0.2.1.dylib and libmad.a.
Trying to build 32-bit, my configure line is
./configure CFLAGS="-arch i386" CXXFLAGS="-arch i386" LDFLAGS="-arch i386" OBJCFLAGS="-arch i386" --enable-debug --disable-nls
Much compiling happens, then things start to go wrong with this output:
...
Making all in macosx
OBJC libmacosx_plugin_la-AppleRemote.lo
OBJC libmacosx_plugin_la-about.lo
OBJC libmacosx_plugin_la-applescript.lo
OBJC libmacosx_plugin_la-controls.lo
controls.m: In function ‘-[VLCControls telxTransparent:]’:
controls.m:532: warning: ‘vlc_object_find_name’ is deprecated (declared at ../../../include/vlc_objects.h:81)
controls.m: In function ‘-[VLCControls telxNavLink:]’:
controls.m:560: warning: ‘vlc_object_find_name’ is deprecated (declared at ../../../include/vlc_objects.h:81)
OBJC libmacosx_plugin_la-equalizer.lo
OBJC libmacosx_plugin_la-coredialogs.lo
OBJC libmacosx_plugin_la-intf.lo
OBJC libmacosx_plugin_la-macosx.lo
OBJC libmacosx_plugin_la-misc.lo
OBJC libmacosx_plugin_la-open.lo
OBJC libmacosx_plugin_la-playlist.lo
In file included from playlist.m:42:
../../../include/vlc_keys.h:89: error: expected declaration specifiers or ‘...’ before ‘KeyToString’
../../../include/vlc_keys.h:89: error: expected declaration specifiers or ‘...’ before ‘(’ token
../../../include/vlc_keys.h:89: warning: return type defaults to ‘int’
../../../include/vlc_keys.h: In function ‘VLC_EXPORT’:
../../../include/vlc_keys.h:89: error: expected declaration specifiers before ‘LIBVLC_USED’
../../../include/vlc_keys.h:90: error: expected declaration specifiers before ‘VLC_EXPORT’
../../../include/vlc_keys.h:205: error: storage class specified for parameter ‘vlc_key_t’
In file included from ../../../include/vlc_fixups.h:54,
from ../../../config.h:922,
from intf.h:28,
from playlist.m:44:
...
Lines 89-90 from vlc_keys.h read
Code: Select all
VLC_EXPORT( char *, KeyToString, (uint_fast32_t i_key) ) LIBVLC_USED;
VLC_EXPORT( uint_fast32_t, StringToKey, (char *psz_key) ) LIBVLC_USED;
Any ideas about what might cause the problem with the VLC_EXPORT(..)s? Ultimately I'm hoping to produce a 32-bit debug build of libVLC.
Thanks!