OSX Woes (svn)

Chris Nelson chris at toysforbob.com
Sun Jul 3 04:07:56 EDT 2005


Nothing like checking out bleeding edge code straight from a repository. 
Will it work? Who knows!

(BTW, this is a very very very long email. The gist of it is that the 
supplied OSX compile method doesn't work for svn, nor does many other 
methods I tried under OSX).

I grab SDL_sound from the subversion repository like so:

---
svn co svn://svn.icculus.org/SDL_sound/trunk/ SDL_sound
----

This is my experience with the trunk of svn (revision 503):

    * bootstrap works
    * configure works (default options)
    * make generates this mess straight-away:



---

Holly:~/lithium/osx/SDL_sound emf$ make
make  all-recursive
Making all in decoders
Making all in timidity
source='common.c' object='common.lo' libtool=yes \
depfile='.deps/common.Plo' tmpdepfile='.deps/common.TPlo' \
depmode=gcc3 /bin/sh ../../depcomp \
/bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../.. 
-I../..    -g -O2 -I/usr/local/include/SDL -D_THREAD_SAFE 
-I/usr/local/include -I/usr/local/include/smpeg -I/usr/local/include/SDL 
-D_THREAD_SAFE  -c -o common.lo `test -f 'common.c' || echo './'`common.c
../../libtool: line 1: s%^.*/%%: No such file or directory
../../libtool: line 1: -e: command not found
*** Warning: inferring the mode of operation is deprecated.
*** Future versions of Libtool will require -mode=MODE be specified.
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
: compile: cannot determine name of library object from `'
make[3]: *** [common.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Holly:~/lithium/dep/osx/SDL_sound emf$ make

---



A quick search of google reveals that other projects suffer from this 
type of problem. It can be fixed via `export SED=sed`.

I run make again, and it gets further, but bails in the middle with 
another lovely mess:



---

Holly:~/lithium/dep/osx/SDL_sound emf$ make
make  all-recursive
Making all in decoders
Making all in timidity
/bin/sh ../../libtool --mode=link gcc  -g -O2 -I/usr/local/include/SDL 
-D_THREAD_SAFE -I/usr/local/include -I/usr/local/include/smpeg 
-I/usr/local/include/SDL -D_THREAD_SAFE    -o libtimidity.la   common.lo 
instrum.lo instrum_dls.lo mix.lo output.lo playmidi.lo readmidi.lo 
resample.lo tables.lo timidity.lo  -L/usr/local/lib -lSDLmain -lSDL 
-framework Cocoa -framework OpenGL -L/usr/local/lib -lsmpeg 
-L/usr/local/lib -lSDLmain -lSDL -framework Cocoa -framework OpenGL  
-lvorbis -lm -lvorbisfile -lvorbisenc

*** Warning: This system can not link to static lib archive 
/usr/local/lib/libsmpeg.la.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
rm -fr  .libs/libtimidity.a
../../libtool: line 5403: test: : integer expression expected
../../libtool: line 5403: test: : integer expression expected
using piecewise archive linking...
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
ar cru .libs/libtimidity.a .libs/common.o~: .libs/libtimidity.aar cru 
.libs/libtimidity.a .libs/instrum.o~: .libs/libtimidity.aar cru 
.libs/libtimidity.a .libs/instrum_dls.o~: .libs/libtimidity.aar cru 
.libs/libtimidity.a .libs/mix.o~: .libs/libtimidity.aar cru 
.libs/libtimidity.a .libs/output.o~: .libs/libtimidity.aar cru 
.libs/libtimidity.a .libs/playmidi.o~: .libs/libtimidity.aar cru 
.libs/libtimidity.a .libs/readmidi.o~: .libs/libtimidity.aar cru 
.libs/libtimidity.a .libs/resample.o~: .libs/libtimidity.aar cru 
.libs/libtimidity.a .libs/tables.o~: .libs/libtimidity.aar cru 
.libs/libtimidity.a .libs/timidity.o~ranlib .libs/libtimidity.a
ar: .libs/common.o~:: No such file or directory
ar: .libs/libtimidity.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/instrum.o~:: No such file or directory
ar: .libs/libtimidity.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/instrum_dls.o~:: No such file or directory
ar: .libs/libtimidity.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/mix.o~:: No such file or directory
ar: .libs/libtimidity.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/output.o~:: No such file or directory
ar: .libs/libtimidity.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/playmidi.o~:: No such file or directory
ar: .libs/libtimidity.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/readmidi.o~:: No such file or directory
ar: .libs/libtimidity.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/resample.o~:: No such file or directory
ar: .libs/libtimidity.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/tables.o~:: No such file or directory
ar: .libs/libtimidity.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/timidity.o~ranlib: No such file or directory
make[3]: *** [libtimidity.la] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Holly:~/lithium/dep/osx/SDL_sound emf$

---



Looks like it's givining me errors and warnings about smpeg and 
timidity. Fine. Who needs 'em? `./configure --help` told me that 
sdl_sound has its own mpeg decoder. I can deal with that. So I `make 
clean`, and then `./configure --enable-smpeg=no --enable-midi=no`. When 
I run make on my clean directory tree, I get the following errors:



---

Holly:~/lithium/dep/osx/SDL_sound emf$ make
make  all-recursive
Making all in decoders
Making all in timidity
make[3]: Nothing to be done for `all'.
Making all in mpglib
/bin/sh ../../libtool --mode=link gcc  -g -O2 -I/usr/local/include/SDL 
-D_THREAD_SAFE    -o libmpglib.la   libmpglib_la-mpglib_common.lo 
libmpglib_la-layer1.lo libmpglib_la-tabinit.lo 
libmpglib_la-dct64_i386.lo libmpglib_la-interface.lo 
libmpglib_la-layer2.lo libmpglib_la-decode_i386.lo 
libmpglib_la-layer3.lo  -L/usr/local/lib -lSDLmain -lSDL -framework 
Cocoa -framework OpenGL  -lvorbis -lm -lvorbisfile -lvorbisenc
rm -fr  .libs/libmpglib.a
../../libtool: line 5403: test: : integer expression expected
../../libtool: line 5403: test: : integer expression expected
using piecewise archive linking...
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
../../libtool: line 5438: test: : integer expression expected
ar cru .libs/libmpglib.a .libs/libmpglib_la-mpglib_common.o~: 
.libs/libmpglib.aar cru .libs/libmpglib.a .libs/libmpglib_la-layer1.o~: 
.libs/libmpglib.aar cru .libs/libmpglib.a .libs/libmpglib_la-tabinit.o~: 
.libs/libmpglib.aar cru .libs/libmpglib.a 
.libs/libmpglib_la-dct64_i386.o~: .libs/libmpglib.aar cru 
.libs/libmpglib.a .libs/libmpglib_la-interface.o~: .libs/libmpglib.aar 
cru .libs/libmpglib.a .libs/libmpglib_la-layer2.o~: .libs/libmpglib.aar 
cru .libs/libmpglib.a .libs/libmpglib_la-decode_i386.o~: 
.libs/libmpglib.aar cru .libs/libmpglib.a 
.libs/libmpglib_la-layer3.o~ranlib .libs/libmpglib.a
ar: .libs/libmpglib_la-mpglib_common.o~:: No such file or directory
ar: .libs/libmpglib.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/libmpglib_la-layer1.o~:: No such file or directory
ar: .libs/libmpglib.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/libmpglib_la-tabinit.o~:: No such file or directory
ar: .libs/libmpglib.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/libmpglib_la-dct64_i386.o~:: No such file or directory
ar: .libs/libmpglib.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/libmpglib_la-interface.o~:: No such file or directory
ar: .libs/libmpglib.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/libmpglib_la-layer2.o~:: No such file or directory
ar: .libs/libmpglib.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/libmpglib_la-decode_i386.o~:: No such file or directory
ar: .libs/libmpglib.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/libmpglib_la-layer3.o~ranlib: No such file or directory
make[3]: *** [libmpglib.la] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Holly:~/lithium/dep/osx/SDL_sound emf$

---



Huh.

After much trial and error, I get the following command to execute 
without errors. I haven't a clue whether it's "correct", or not. Instead 
of linking to .lo files, I linked to the .o files. And instead of using 
the supplied libtool, I used whichever one was in my path.



---

libtool -g -o libmpglib.la   libmpglib_la-mpglib_common.o 
libmpglib_la-layer1.o libmpglib_la-tabinit.o libmpglib_la-dct64_i386.o 
libmpglib_la-interface.o libmpglib_la-layer2.o 
libmpglib_la-decode_i386.o libmpglib_la-layer3.o  -L/usr/local/lib 
-lSDLmain -lSDL -framework Cocoa -framework OpenGL  -lvorbis 
-lvorbisfile -lvorbisenc

---



And, for good measure, I `cp libmpglib.la libmpglib.a`... I haven't a 
clue what .lo or .la files are, but if I use .o files instead of .lo 
files, I should probably output a .a file instead of a .la file... At 
this point, I'm just guessing. So I change to the root directory, and 
type make again, where it compiles for about 10 seconds and then 
generates this:



---

Holly:~/lithium/dep/osx/SDL_sound emf$ make
make  all-recursive
Making all in decoders
Making all in timidity
make[3]: Nothing to be done for `all'.
Making all in mpglib

make[3]: Nothing to be done for `all'.
/bin/sh ../libtool --mode=link gcc  -g -O2 -I/usr/local/include/SDL 
-D_THREAD_SAFE    -o libdecoders.la   aiff.lo au.lo mikmod.lo modplug.lo 
mpglib.lo smpeg.lo ogg.lo raw.lo shn.lo voc.lo midi.lo flac.lo speex.lo 
quicktime.lo wav.lo  -L/usr/local/lib -lSDLmain -lSDL -framework Cocoa 
-framework OpenGL  -lvorbis -lm -lvorbisfile -lvorbisenc
rm -fr  .libs/libdecoders.a
../libtool: line 5403: test: : integer expression expected
../libtool: line 5403: test: : integer expression expected
using piecewise archive linking...
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
../libtool: line 5438: test: : integer expression expected
ar cru .libs/libdecoders.a .libs/aiff.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/au.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/mikmod.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/modplug.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/mpglib.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/smpeg.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/ogg.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/raw.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/shn.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/voc.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/midi.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/flac.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/speex.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/quicktime.o~: .libs/libdecoders.aar cru 
.libs/libdecoders.a .libs/wav.o~ranlib .libs/libdecoders.a
ar: .libs/aiff.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/au.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/mikmod.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/modplug.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/mpglib.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/smpeg.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/ogg.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/raw.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/shn.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/voc.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/midi.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/flac.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/speex.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/quicktime.o~:: No such file or directory
ar: .libs/libdecoders.aar: No such file or directory
ar: cru: No such file or directory
ar: .libs/wav.o~ranlib: No such file or directory
make[3]: *** [libdecoders.la] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Holly:~/lithium/dep/osx/SDL_sound emf$

---



Great. But on closer inspection, I can just fix the libtool line, like I 
did in the last section, like so:



---

libtool -o libdecoders.la   aiff.o au.o mikmod.o modplug.o mpglib.o 
smpeg.o ogg.o raw.o shn.o voc.o midi.o flac.o speex.o quicktime.o wav.o  
-L/usr/local/lib -lSDLmain -lSDL -framework Cocoa -framework OpenGL  
-lvorbis -lvorbisfile -lvorbisenc

---



Sure enough, that "works". Or, rather, it generates no errors. I haven't 
a clue whether I'm making forward progress, or just creating useless 
files. No matter. Onwards with another make, and a genuinely friendly error:



---

Holly:~/lithium/dep/osx/SDL_sound emf$ make        
make  all-recursive
Making all in decoders
Making all in timidity
make[3]: Nothing to be done for `all'.
Making all in mpglib
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in .
source='SDL_sound.c' object='SDL_sound.lo' libtool=yes \
depfile='.deps/SDL_sound.Plo' tmpdepfile='.deps/SDL_sound.TPlo' \
depmode=gcc3 /bin/sh ./depcomp \
/bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.     -g 
-O2 -I/usr/local/include/SDL -D_THREAD_SAFE  -c -o SDL_sound.lo `test -f 
'SDL_sound.c' || echo './'`SDL_sound.c
 gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -I/usr/local/include/SDL 
-D_THREAD_SAFE -c SDL_sound.c -MT SDL_sound.lo -MD -MP -MF 
.deps/SDL_sound.TPlo  -fno-common -o .libs/SDL_sound.o
SDL_sound.c:715: error: parse error before '{' token
SDL_sound.c:722: error: `data' undeclared here (not in a function)
SDL_sound.c:722: error: `size' undeclared here (not in a function)
SDL_sound.c:722: warning: initialization makes integer from pointer 
without a cast
SDL_sound.c:722: error: initializer element is not constant
SDL_sound.c:722: warning: data definition has no type or storage class
SDL_sound.c:724: error: parse error before "if"
make[2]: *** [SDL_sound.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Holly:~/lithium/dep/osx/SDL_sound emf$


---



Wonderful! It's a simple compile error! It dislikes this little bit of 
code, where I've subtly marked the error in size 30 bold red font:



---

Sound_Sample *Sound_NewSampleFromMem(const Uint8 *data,
                                     Uint32 size,
                                     const char *ext,
                                     Sound_AudioInfo *desired,
                                     Uint32 bufferSize)*;*
{
    SDL_RWops *rw;
   
    BAIL_IF_MACRO(!initialized, ERR_NOT_INITIALIZED, NULL);
    BAIL_IF_MACRO(data == NULL, ERR_INVALID_ARGUMENT, NULL);
    BAIL_IF_MACRO(size == 0, ERR_INVALID_ARGUMENT, NULL);
   
    rw = SDL_RWFromMem(data, size);
    /* !!! FIXME: rw = RWops_FromMem(data, size);*/
    BAIL_IF_MACRO(rw == NULL, SDL_GetError(), NULL);
   
    return(Sound_NewSample(rw, ext, desired, bufferSize));
} /* Sound_NewSampleFromMem */


---



So I remove the error, and even do a svn commit, 'cause, hey, that's how 
we do things around here. But I guess anonymous doesn't have write 
access to the repository (makes sense), so I must resort to huge bright 
red text. Somebody with power please fix this in the repository.

And once again, I type make:



---

Holly:~/lithium/dep/osx/SDL_sound emf$ make
make  all-recursive
Making all in decoders
Making all in timidity
make[3]: Nothing to be done for `all'.
Making all in mpglib
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in .
make[2]: *** No rule to make target `alt_audio_convert.c', needed by 
`alt_audio_convert.lo'.  Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Holly:~/lithium/dep/osx/SDL_sound emf$

---



Huh. alt_audio_convert.c is expected, but not there... But, that file 
*does* exist in v1.01... Somebody seems to have intentionally removed 
this file, so my first inclination is to comment out references to it in 
the Makefiles... If that doesn't work, I'll bring over the file from the 
1.01 release.

So I comment all 5 references to alt_audio_convert.

make. error:



---

Holly:~/lithium/dep/osx/SDL_sound-svn emf$ make
make  all-recursive
Making all in decoders
Making all in timidity
make[3]: Nothing to be done for `all'.
Making all in mpglib
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in .
/bin/sh ./libtool --mode=link gcc  -g -O2 -I/usr/local/include/SDL 
-D_THREAD_SAFE    -o libSDL_sound.la -rpath /usr/local/lib -release 1.0 
-version-info 1:0:0 SDL_sound.lo  decoders/libdecoders.la  
decoders/mpglib/libmpglib.la -L/usr/local/lib -lSDLmain -lSDL -framework 
Cocoa -framework OpenGL  -lvorbis -lm -lvorbisfile -lvorbisenc
libtool: link: `decoders/libdecoders.la' is not a valid libtool archive
make[2]: *** [libSDL_sound.la] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Holly:~/lithium/dep/osx/SDL_sound-svn emf$


---



So, the built-in libtool doesn't like libdecoders.la, eh? Guess I'll 
just use the OSX one. It leaves me wondering why SDL_sound has its own 
broken libtool... (I could have sworn I had similar problems with 
SDL_sound's libtool when I installed it on linux a few years back).

I use the following line to compile:



---

libtool -o libSDL_sound.a SDL_sound.o  decoders/libdecoders.a  
decoders/mpglib/libmpglib.la -L/usr/local/lib -lSDLmain -lSDL -framework 
Cocoa -framework OpenGL  -lvorbis -lvorbisfile -lvorbisenc

---



I now have a libSDL_sound.a, whatever that might mean. But I also am 
greeted with the biggest group of warning text yet:



---

Holly:~/lithium/dep/osx/SDL_sound-svn emf$ libtool -o libSDL_sound.a 
SDL_sound.o  decoders/libdecoders.a  decoders/mpglib/libmpglib.la 
-L/usr/local/lib -lSDLmain -lSDL -framework Cocoa -framework OpenGL  
-lvorbis -lvorbisfile -lvorbisenc
libtool: warning same member name (AudioFilePlayer.o) in output file 
used for input files: decoders/libdecoders.a(AudioFilePlayer.o) and: 
decoders/mpglib/libmpglib.la(AudioFilePlayer.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (AudioFilePlayer.o) in output file 
used for input files: decoders/mpglib/libmpglib.la(AudioFilePlayer.o) 
and: /usr/local/lib/libSDL.a(AudioFilePlayer.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (AudioFileReaderThread.o) in output 
file used for input files: 
decoders/libdecoders.a(AudioFileReaderThread.o) and: 
/usr/local/lib/libSDL.a(AudioFileReaderThread.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (AudioFileReaderThread.o) in output 
file used for input files: 
/usr/local/lib/libSDL.a(AudioFileReaderThread.o) and: 
decoders/mpglib/libmpglib.la(AudioFileReaderThread.o) due to use of 
basename, truncation and blank padding
libtool: warning same member name (CAGuard.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(CAGuard.o) and: 
/usr/local/lib/libSDL.a(CAGuard.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (CAGuard.o) in output file used for 
input files: /usr/local/lib/libSDL.a(CAGuard.o) and: 
decoders/libdecoders.a(CAGuard.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (CDPlayer.o) in output file used for 
input files: /usr/local/lib/libSDL.a(CDPlayer.o) and: 
decoders/libdecoders.a(CDPlayer.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (CDPlayer.o) in output file used for 
input files: decoders/libdecoders.a(CDPlayer.o) and: 
decoders/mpglib/libmpglib.la(CDPlayer.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL.o) in output file used for input 
files: /usr/local/lib/libSDL.a(SDL.o) and: 
decoders/mpglib/libmpglib.la(SDL.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL.o) in output file used for input 
files: decoders/mpglib/libmpglib.la(SDL.o) and: 
decoders/libdecoders.a(SDL.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (SDLMain.o) in output file used for 
input files: /usr/local/lib/libSDLmain.a(SDLMain.o) and: 
decoders/mpglib/libmpglib.la(SDLMain.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDLMain.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDLMain.o) and: 
decoders/libdecoders.a(SDLMain.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (SDL_QuartzEvents.o) in output file 
used for input files: decoders/mpglib/libmpglib.la(SDL_QuartzEvents.o) 
and: decoders/libdecoders.a(SDL_QuartzEvents.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_QuartzEvents.o) in output file 
used for input files: decoders/libdecoders.a(SDL_QuartzEvents.o) and: 
/usr/local/lib/libSDL.a(SDL_QuartzEvents.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_QuartzGL.o) in output file used 
for input files: decoders/libdecoders.a(SDL_QuartzGL.o) and: 
decoders/mpglib/libmpglib.la(SDL_QuartzGL.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_QuartzGL.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_QuartzGL.o) and: 
/usr/local/lib/libSDL.a(SDL_QuartzGL.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_QuartzVideo.o) in output file 
used for input files: /usr/local/lib/libSDL.a(SDL_QuartzVideo.o) and: 
decoders/mpglib/libmpglib.la(SDL_QuartzVideo.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_QuartzVideo.o) in output file 
used for input files: decoders/mpglib/libmpglib.la(SDL_QuartzVideo.o) 
and: decoders/libdecoders.a(SDL_QuartzVideo.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_QuartzWM.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_QuartzWM.o) and: 
decoders/libdecoders.a(SDL_QuartzWM.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_QuartzWM.o) in output file used 
for input files: decoders/libdecoders.a(SDL_QuartzWM.o) and: 
/usr/local/lib/libSDL.a(SDL_QuartzWM.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_QuartzWindow.o) in output file 
used for input files: decoders/libdecoders.a(SDL_QuartzWindow.o) and: 
decoders/mpglib/libmpglib.la(SDL_QuartzWindow.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_QuartzWindow.o) in output file 
used for input files: decoders/mpglib/libmpglib.la(SDL_QuartzWindow.o) 
and: /usr/local/lib/libSDL.a(SDL_QuartzWindow.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_QuartzYUV.o) in output file used 
for input files: decoders/libdecoders.a(SDL_QuartzYUV.o) and: 
decoders/mpglib/libmpglib.la(SDL_QuartzYUV.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_QuartzYUV.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_QuartzYUV.o) and: 
/usr/local/lib/libSDL.a(SDL_QuartzYUV.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_RLEaccel.o) in output file used 
for input files: decoders/libdecoders.a(SDL_RLEaccel.o) and: 
decoders/mpglib/libmpglib.la(SDL_RLEaccel.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_RLEaccel.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_RLEaccel.o) and: 
/usr/local/lib/libSDL.a(SDL_RLEaccel.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_active.o) in output file used for 
input files: decoders/libdecoders.a(SDL_active.o) and: 
/usr/local/lib/libSDL.a(SDL_active.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_active.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_active.o) and: 
decoders/mpglib/libmpglib.la(SDL_active.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_audio.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_audio.o) and: 
decoders/mpglib/libmpglib.la(SDL_audio.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_audio.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_audio.o) and: 
decoders/libdecoders.a(SDL_audio.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_audiocvt.o) in output file used 
for input files: decoders/libdecoders.a(SDL_audiocvt.o) and: 
decoders/mpglib/libmpglib.la(SDL_audiocvt.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_audiocvt.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_audiocvt.o) and: 
/usr/local/lib/libSDL.a(SDL_audiocvt.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_audiodev.o) in output file used 
for input files: /usr/local/lib/libSDL.a(SDL_audiodev.o) and: 
decoders/libdecoders.a(SDL_audiodev.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_audiodev.o) in output file used 
for input files: decoders/libdecoders.a(SDL_audiodev.o) and: 
decoders/mpglib/libmpglib.la(SDL_audiodev.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_audiomem.o) in output file used 
for input files: /usr/local/lib/libSDL.a(SDL_audiomem.o) and: 
decoders/mpglib/libmpglib.la(SDL_audiomem.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_audiomem.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_audiomem.o) and: 
decoders/libdecoders.a(SDL_audiomem.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_blit.o) in output file used for 
input files: decoders/libdecoders.a(SDL_blit.o) and: 
decoders/mpglib/libmpglib.la(SDL_blit.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_blit.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_blit.o) and: 
/usr/local/lib/libSDL.a(SDL_blit.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_blit_0.o) in output file used for 
input files: decoders/libdecoders.a(SDL_blit_0.o) and: 
/usr/local/lib/libSDL.a(SDL_blit_0.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_blit_0.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_blit_0.o) and: 
decoders/mpglib/libmpglib.la(SDL_blit_0.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_blit_1.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_blit_1.o) and: 
decoders/libdecoders.a(SDL_blit_1.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_blit_1.o) in output file used for 
input files: decoders/libdecoders.a(SDL_blit_1.o) and: 
/usr/local/lib/libSDL.a(SDL_blit_1.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_blit_A.o) in output file used for 
input files: decoders/libdecoders.a(SDL_blit_A.o) and: 
/usr/local/lib/libSDL.a(SDL_blit_A.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_blit_A.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_blit_A.o) and: 
decoders/mpglib/libmpglib.la(SDL_blit_A.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_blit_N.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_blit_N.o) and: 
decoders/libdecoders.a(SDL_blit_N.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_blit_N.o) in output file used for 
input files: decoders/libdecoders.a(SDL_blit_N.o) and: 
/usr/local/lib/libSDL.a(SDL_blit_N.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_bmp.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_bmp.o) and: 
decoders/libdecoders.a(SDL_bmp.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (SDL_bmp.o) in output file used for 
input files: decoders/libdecoders.a(SDL_bmp.o) and: 
/usr/local/lib/libSDL.a(SDL_bmp.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_cdrom.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_cdrom.o) and: 
decoders/libdecoders.a(SDL_cdrom.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_cdrom.o) in output file used for 
input files: decoders/libdecoders.a(SDL_cdrom.o) and: 
/usr/local/lib/libSDL.a(SDL_cdrom.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_coreaudio.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_coreaudio.o) and: 
decoders/libdecoders.a(SDL_coreaudio.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_coreaudio.o) in output file used 
for input files: decoders/libdecoders.a(SDL_coreaudio.o) and: 
/usr/local/lib/libSDL.a(SDL_coreaudio.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_cpuinfo.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_cpuinfo.o) and: 
/usr/local/lib/libSDL.a(SDL_cpuinfo.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_cpuinfo.o) in output file used 
for input files: /usr/local/lib/libSDL.a(SDL_cpuinfo.o) and: 
decoders/libdecoders.a(SDL_cpuinfo.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_cursor.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_cursor.o) and: 
decoders/mpglib/libmpglib.la(SDL_cursor.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_cursor.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_cursor.o) and: 
decoders/libdecoders.a(SDL_cursor.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_diskaudio.o) in output file used 
for input files: /usr/local/lib/libSDL.a(SDL_diskaudio.o) and: 
decoders/libdecoders.a(SDL_diskaudio.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_diskaudio.o) in output file used 
for input files: decoders/libdecoders.a(SDL_diskaudio.o) and: 
decoders/mpglib/libmpglib.la(SDL_diskaudio.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_endian.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_endian.o) and: 
/usr/local/lib/libSDL.a(SDL_endian.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_endian.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_endian.o) and: 
decoders/libdecoders.a(SDL_endian.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_error.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_error.o) and: 
decoders/mpglib/libmpglib.la(SDL_error.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_error.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_error.o) and: 
decoders/libdecoders.a(SDL_error.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_events.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_events.o) and: 
decoders/libdecoders.a(SDL_events.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_events.o) in output file used for 
input files: decoders/libdecoders.a(SDL_events.o) and: 
decoders/mpglib/libmpglib.la(SDL_events.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_expose.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_expose.o) and: 
decoders/libdecoders.a(SDL_expose.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_expose.o) in output file used for 
input files: decoders/libdecoders.a(SDL_expose.o) and: 
/usr/local/lib/libSDL.a(SDL_expose.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_fatal.o) in output file used for 
input files: decoders/libdecoders.a(SDL_fatal.o) and: 
decoders/mpglib/libmpglib.la(SDL_fatal.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_fatal.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_fatal.o) and: 
/usr/local/lib/libSDL.a(SDL_fatal.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_gamma.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_gamma.o) and: 
decoders/libdecoders.a(SDL_gamma.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_gamma.o) in output file used for 
input files: decoders/libdecoders.a(SDL_gamma.o) and: 
decoders/mpglib/libmpglib.la(SDL_gamma.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_getenv.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_getenv.o) and: 
decoders/mpglib/libmpglib.la(SDL_getenv.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_getenv.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_getenv.o) and: 
decoders/libdecoders.a(SDL_getenv.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_joystick.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_joystick.o) and: 
/usr/local/lib/libSDL.a(SDL_joystick.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_joystick.o) in output file used 
for input files: /usr/local/lib/libSDL.a(SDL_joystick.o) and: 
decoders/libdecoders.a(SDL_joystick.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_keyboard.o) in output file used 
for input files: decoders/libdecoders.a(SDL_keyboard.o) and: 
decoders/mpglib/libmpglib.la(SDL_keyboard.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_keyboard.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_keyboard.o) and: 
/usr/local/lib/libSDL.a(SDL_keyboard.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_loadso.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_loadso.o) and: 
/usr/local/lib/libSDL.a(SDL_loadso.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_loadso.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_loadso.o) and: 
decoders/libdecoders.a(SDL_loadso.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_mixer.o) in output file used for 
input files: decoders/libdecoders.a(SDL_mixer.o) and: 
decoders/mpglib/libmpglib.la(SDL_mixer.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_mixer.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_mixer.o) and: 
/usr/local/lib/libSDL.a(SDL_mixer.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_mixer_MMX.o) in output file used 
for input files: decoders/libdecoders.a(SDL_mixer_MMX.o) and: 
decoders/mpglib/libmpglib.la(SDL_mixer_MMX.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_mixer_MMX.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_mixer_MMX.o) and: 
/usr/local/lib/libSDL.a(SDL_mixer_MMX.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_mixer_MMX_VC.o) in output file 
used for input files: /usr/local/lib/libSDL.a(SDL_mixer_MMX_VC.o) and: 
decoders/mpglib/libmpglib.la(SDL_mixer_MMX_VC.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_mixer_MMX_VC.o) in output file 
used for input files: decoders/mpglib/libmpglib.la(SDL_mixer_MMX_VC.o) 
and: decoders/libdecoders.a(SDL_mixer_MMX_VC.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_mixer_m68k.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_mixer_m68k.o) and: 
decoders/libdecoders.a(SDL_mixer_m68k.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_mixer_m68k.o) in output file used 
for input files: decoders/libdecoders.a(SDL_mixer_m68k.o) and: 
/usr/local/lib/libSDL.a(SDL_mixer_m68k.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_mouse.o) in output file used for 
input files: decoders/libdecoders.a(SDL_mouse.o) and: 
/usr/local/lib/libSDL.a(SDL_mouse.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_mouse.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_mouse.o) and: 
decoders/mpglib/libmpglib.la(SDL_mouse.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_nullevents.o) in output file used 
for input files: decoders/libdecoders.a(SDL_nullevents.o) and: 
decoders/mpglib/libmpglib.la(SDL_nullevents.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_nullevents.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_nullevents.o) and: 
/usr/local/lib/libSDL.a(SDL_nullevents.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_nullmouse.o) in output file used 
for input files: decoders/libdecoders.a(SDL_nullmouse.o) and: 
decoders/mpglib/libmpglib.la(SDL_nullmouse.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_nullmouse.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_nullmouse.o) and: 
/usr/local/lib/libSDL.a(SDL_nullmouse.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_nullvideo.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_nullvideo.o) and: 
/usr/local/lib/libSDL.a(SDL_nullvideo.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_nullvideo.o) in output file used 
for input files: /usr/local/lib/libSDL.a(SDL_nullvideo.o) and: 
decoders/libdecoders.a(SDL_nullvideo.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_pixels.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_pixels.o) and: 
/usr/local/lib/libSDL.a(SDL_pixels.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_pixels.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_pixels.o) and: 
decoders/libdecoders.a(SDL_pixels.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_quit.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_quit.o) and: 
/usr/local/lib/libSDL.a(SDL_quit.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_quit.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_quit.o) and: 
decoders/libdecoders.a(SDL_quit.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_resize.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_resize.o) and: 
decoders/libdecoders.a(SDL_resize.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_resize.o) in output file used for 
input files: decoders/libdecoders.a(SDL_resize.o) and: 
decoders/mpglib/libmpglib.la(SDL_resize.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_romaudio.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_romaudio.o) and: 
decoders/libdecoders.a(SDL_romaudio.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_romaudio.o) in output file used 
for input files: decoders/libdecoders.a(SDL_romaudio.o) and: 
/usr/local/lib/libSDL.a(SDL_romaudio.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_rwops.o) in output file used for 
input files: decoders/libdecoders.a(SDL_rwops.o) and: 
/usr/local/lib/libSDL.a(SDL_rwops.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_rwops.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_rwops.o) and: 
decoders/mpglib/libmpglib.la(SDL_rwops.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_stretch.o) in output file used 
for input files: decoders/libdecoders.a(SDL_stretch.o) and: 
/usr/local/lib/libSDL.a(SDL_stretch.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_stretch.o) in output file used 
for input files: /usr/local/lib/libSDL.a(SDL_stretch.o) and: 
decoders/mpglib/libmpglib.la(SDL_stretch.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_surface.o) in output file used 
for input files: /usr/local/lib/libSDL.a(SDL_surface.o) and: 
decoders/libdecoders.a(SDL_surface.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_surface.o) in output file used 
for input files: decoders/libdecoders.a(SDL_surface.o) and: 
decoders/mpglib/libmpglib.la(SDL_surface.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_syscdrom.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_syscdrom.o) and: 
decoders/libdecoders.a(SDL_syscdrom.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_syscdrom.o) in output file used 
for input files: decoders/libdecoders.a(SDL_syscdrom.o) and: 
/usr/local/lib/libSDL.a(SDL_syscdrom.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_syscond.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_syscond.o) and: 
decoders/libdecoders.a(SDL_syscond.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_syscond.o) in output file used 
for input files: decoders/libdecoders.a(SDL_syscond.o) and: 
/usr/local/lib/libSDL.a(SDL_syscond.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_sysjoystick.o) in output file 
used for input files: decoders/mpglib/libmpglib.la(SDL_sysjoystick.o) 
and: /usr/local/lib/libSDL.a(SDL_sysjoystick.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_sysjoystick.o) in output file 
used for input files: /usr/local/lib/libSDL.a(SDL_sysjoystick.o) and: 
decoders/libdecoders.a(SDL_sysjoystick.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_sysmutex.o) in output file used 
for input files: /usr/local/lib/libSDL.a(SDL_sysmutex.o) and: 
decoders/mpglib/libmpglib.la(SDL_sysmutex.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_sysmutex.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_sysmutex.o) and: 
decoders/libdecoders.a(SDL_sysmutex.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_syssem.o) in output file used for 
input files: decoders/libdecoders.a(SDL_syssem.o) and: 
/usr/local/lib/libSDL.a(SDL_syssem.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_syssem.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_syssem.o) and: 
decoders/mpglib/libmpglib.la(SDL_syssem.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_systhread.o) in output file used 
for input files: /usr/local/lib/libSDL.a(SDL_systhread.o) and: 
decoders/mpglib/libmpglib.la(SDL_systhread.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_systhread.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_systhread.o) and: 
decoders/libdecoders.a(SDL_systhread.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_systimer.o) in output file used 
for input files: decoders/libdecoders.a(SDL_systimer.o) and: 
/usr/local/lib/libSDL.a(SDL_systimer.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_systimer.o) in output file used 
for input files: /usr/local/lib/libSDL.a(SDL_systimer.o) and: 
decoders/mpglib/libmpglib.la(SDL_systimer.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_thread.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_thread.o) and: 
decoders/mpglib/libmpglib.la(SDL_thread.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_thread.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_thread.o) and: 
decoders/libdecoders.a(SDL_thread.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_timer.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_timer.o) and: 
decoders/libdecoders.a(SDL_timer.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_timer.o) in output file used for 
input files: decoders/libdecoders.a(SDL_timer.o) and: 
/usr/local/lib/libSDL.a(SDL_timer.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_video.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_video.o) and: 
decoders/mpglib/libmpglib.la(SDL_video.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_video.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_video.o) and: 
decoders/libdecoders.a(SDL_video.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_wave.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_wave.o) and: 
/usr/local/lib/libSDL.a(SDL_wave.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_wave.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_wave.o) and: 
decoders/libdecoders.a(SDL_wave.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_yuv.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_yuv.o) and: 
/usr/local/lib/libSDL.a(SDL_yuv.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_yuv.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_yuv.o) and: 
decoders/libdecoders.a(SDL_yuv.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (SDL_yuv_mmx.o) in output file used 
for input files: decoders/mpglib/libmpglib.la(SDL_yuv_mmx.o) and: 
/usr/local/lib/libSDL.a(SDL_yuv_mmx.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (SDL_yuv_mmx.o) in output file used 
for input files: /usr/local/lib/libSDL.a(SDL_yuv_mmx.o) and: 
decoders/libdecoders.a(SDL_yuv_mmx.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_yuv_sw.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(SDL_yuv_sw.o) and: 
/usr/local/lib/libSDL.a(SDL_yuv_sw.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (SDL_yuv_sw.o) in output file used for 
input files: /usr/local/lib/libSDL.a(SDL_yuv_sw.o) and: 
decoders/libdecoders.a(SDL_yuv_sw.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (analysis.o) in output file used for 
input files: /usr/local/lib/libvorbis.a(analysis.o) and: 
decoders/mpglib/libmpglib.la(analysis.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (analysis.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(analysis.o) and: 
decoders/libdecoders.a(analysis.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (arch.o) in output file used for input 
files: decoders/mpglib/libmpglib.la(arch.o) and: 
/usr/local/lib/libSDL.a(arch.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (arch.o) in output file used for input 
files: /usr/local/lib/libSDL.a(arch.o) and: 
decoders/libdecoders.a(arch.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (bitrate.o) in output file used for 
input files: decoders/libdecoders.a(bitrate.o) and: 
/usr/local/lib/libvorbis.a(bitrate.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (bitrate.o) in output file used for 
input files: /usr/local/lib/libvorbis.a(bitrate.o) and: 
decoders/mpglib/libmpglib.la(bitrate.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (block.o) in output file used for 
input files: decoders/libdecoders.a(block.o) and: 
decoders/mpglib/libmpglib.la(block.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (block.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(block.o) and: 
/usr/local/lib/libvorbis.a(block.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (codebook.o) in output file used for 
input files: decoders/libdecoders.a(codebook.o) and: 
/usr/local/lib/libvorbis.a(codebook.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (codebook.o) in output file used for 
input files: /usr/local/lib/libvorbis.a(codebook.o) and: 
decoders/mpglib/libmpglib.la(codebook.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (envelope.o) in output file used for 
input files: decoders/libdecoders.a(envelope.o) and: 
/usr/local/lib/libvorbis.a(envelope.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (envelope.o) in output file used for 
input files: /usr/local/lib/libvorbis.a(envelope.o) and: 
decoders/mpglib/libmpglib.la(envelope.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (floor0.o) in output file used for 
input files: /usr/local/lib/libvorbis.a(floor0.o) and: 
decoders/libdecoders.a(floor0.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (floor0.o) in output file used for 
input files: decoders/libdecoders.a(floor0.o) and: 
decoders/mpglib/libmpglib.la(floor0.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (floor1.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(floor1.o) and: 
decoders/libdecoders.a(floor1.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (floor1.o) in output file used for 
input files: decoders/libdecoders.a(floor1.o) and: 
/usr/local/lib/libvorbis.a(floor1.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (info.o) in output file used for input 
files: decoders/mpglib/libmpglib.la(info.o) and: 
/usr/local/lib/libvorbis.a(info.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (info.o) in output file used for input 
files: /usr/local/lib/libvorbis.a(info.o) and: 
decoders/libdecoders.a(info.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (lookup.o) in output file used for 
input files: decoders/libdecoders.a(lookup.o) and: 
/usr/local/lib/libvorbis.a(lookup.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (lookup.o) in output file used for 
input files: /usr/local/lib/libvorbis.a(lookup.o) and: 
decoders/mpglib/libmpglib.la(lookup.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (lpc.o) in output file used for input 
files: decoders/libdecoders.a(lpc.o) and: 
decoders/mpglib/libmpglib.la(lpc.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (lpc.o) in output file used for input 
files: decoders/mpglib/libmpglib.la(lpc.o) and: 
/usr/local/lib/libvorbis.a(lpc.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (lsp.o) in output file used for input 
files: decoders/libdecoders.a(lsp.o) and: 
/usr/local/lib/libvorbis.a(lsp.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (lsp.o) in output file used for input 
files: /usr/local/lib/libvorbis.a(lsp.o) and: 
decoders/mpglib/libmpglib.la(lsp.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (mapping0.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(mapping0.o) and: 
/usr/local/lib/libvorbis.a(mapping0.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (mapping0.o) in output file used for 
input files: /usr/local/lib/libvorbis.a(mapping0.o) and: 
decoders/libdecoders.a(mapping0.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (mdct.o) in output file used for input 
files: decoders/libdecoders.a(mdct.o) and: 
decoders/mpglib/libmpglib.la(mdct.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (mdct.o) in output file used for input 
files: decoders/mpglib/libmpglib.la(mdct.o) and: 
/usr/local/lib/libvorbis.a(mdct.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (psy.o) in output file used for input 
files: /usr/local/lib/libvorbis.a(psy.o) and: 
decoders/mpglib/libmpglib.la(psy.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (psy.o) in output file used for input 
files: decoders/mpglib/libmpglib.la(psy.o) and: 
decoders/libdecoders.a(psy.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (registry.o) in output file used for 
input files: decoders/libdecoders.a(registry.o) and: 
decoders/mpglib/libmpglib.la(registry.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (registry.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(registry.o) and: 
/usr/local/lib/libvorbis.a(registry.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (res0.o) in output file used for input 
files: decoders/mpglib/libmpglib.la(res0.o) and: 
/usr/local/lib/libvorbis.a(res0.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (res0.o) in output file used for input 
files: /usr/local/lib/libvorbis.a(res0.o) and: 
decoders/libdecoders.a(res0.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (sharedbook.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(sharedbook.o) and: 
/usr/local/lib/libvorbis.a(sharedbook.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (sharedbook.o) in output file used for 
input files: /usr/local/lib/libvorbis.a(sharedbook.o) and: 
decoders/libdecoders.a(sharedbook.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (smallft.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(smallft.o) and: 
/usr/local/lib/libvorbis.a(smallft.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (smallft.o) in output file used for 
input files: /usr/local/lib/libvorbis.a(smallft.o) and: 
decoders/libdecoders.a(smallft.o) due to use of basename, truncation and 
blank padding
libtool: warning same member name (synthesis.o) in output file used for 
input files: /usr/local/lib/libvorbis.a(synthesis.o) and: 
decoders/libdecoders.a(synthesis.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (synthesis.o) in output file used for 
input files: decoders/libdecoders.a(synthesis.o) and: 
decoders/mpglib/libmpglib.la(synthesis.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (vorbisenc.o) in output file used for 
input files: /usr/local/lib/libvorbisenc.a(vorbisenc.o) and: 
decoders/mpglib/libmpglib.la(vorbisenc.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (vorbisenc.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(vorbisenc.o) and: 
decoders/libdecoders.a(vorbisenc.o) due to use of basename, truncation 
and blank padding
libtool: warning same member name (vorbisfile.o) in output file used for 
input files: decoders/libdecoders.a(vorbisfile.o) and: 
decoders/mpglib/libmpglib.la(vorbisfile.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (vorbisfile.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(vorbisfile.o) and: 
/usr/local/lib/libvorbisfile.a(vorbisfile.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (window.o) in output file used for 
input files: /usr/local/lib/libvorbis.a(window.o) and: 
decoders/mpglib/libmpglib.la(window.o) due to use of basename, 
truncation and blank padding
libtool: warning same member name (window.o) in output file used for 
input files: decoders/mpglib/libmpglib.la(window.o) and: 
decoders/libdecoders.a(window.o) due to use of basename, truncation and 
blank padding
Holly:~/lithium/dep/osx/SDL_sound-svn emf$

---



Fine. Whatever. I copy libSDL_sound.a to libSDL_sound.la, because that's 
what the Makefiles were expecting to generate. I type make yet again.



---

Holly:~/lithium/dep/osx/SDL_sound-svn emf$ make
make  all-recursive
Making all in decoders
Making all in timidity
make[3]: Nothing to be done for `all'.
Making all in mpglib
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in .
make[2]: Nothing to be done for `all-am'.
Making all in playsound
/bin/sh ../libtool --mode=link gcc  -g -O2 -I/usr/local/include/SDL 
-D_THREAD_SAFE    -o playsound  playsound-playsound.o 
playsound-physfsrwops.o ../libSDL_sound.la  -L/usr/local/lib -lSDLmain 
-lSDL -framework Cocoa -framework OpenGL  -lvorbis -lm -lvorbisfile 
-lvorbisenc
libtool: link: `../libSDL_sound.la' is not a valid libtool archive
make[2]: *** [playsound] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Holly:~/lithium/dep/osx/SDL_sound-svn emf$


---



Gee. More libtool crap. But at least I'm trying to compile a sample 
program. I use the OSX libtool again, and the following command:



---

libtool -o playsound  playsound-playsound.o playsound-physfsrwops.o 
../libSDL_sound.a  -L/usr/local/lib -lSDLmain -lSDL -framework Cocoa 
-framework OpenGL  -lvorbis -lvorbisfile -lvorbisenc

---



Well, it *DID* make a file called playsound, to its credit, but it 
didn't have the execute bit, and when I chmod +x'd it and ran it, this 
happened:



---

Holly:~/lithium/dep/osx/SDL_sound-svn/playsound emf$ ./playsound
./playsound: line 1: syntax error near unexpected token `newline'
./playsound: line 1: `!<arch>'
Holly:~/lithium/dep/osx/SDL_sound-svn/playsound emf$

---



So playsound, as compiled by libtool, doesn't seem remotely executable. 
Fine. Let's compile it with gcc:



---

Holly:~/lithium/dep/osx/SDL_sound-svn/playsound emf$ gcc -o playsound  
playsound-playsound.o playsound-physfsrwops.o ../libSDL_sound.a  
-L/usr/local/lib -lSDLmain -lSDL -framework Cocoa -framework OpenGL  
-lvorbis -lvorbisfile -lvorbisenc
ld: ../libSDL_sound.a(SDL_coreaudio.o) illegal reference to symbol: 
_AudioUnitSetProperty defined in indirectly referenced dynamic library 
/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
ld: ../libSDL_sound.a(SDL_romaudio.o) illegal reference to symbol: 
_NewSndCallBackUPP defined in indirectly referenced dynamic library 
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound
ld: ../libSDL_sound.a(SDL_sysjoystick.o) illegal reference to symbol: 
_IOCreatePlugInInterfaceForService defined in indirectly referenced 
dynamic library /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
ld: ../libSDL_sound.a(vorbisfile.o) illegal reference to symbol: 
_ogg_page_serialno defined in indirectly referenced dynamic library 
/usr/local/lib/libogg.0.dylib
ld: ../libSDL_sound.a(SDL_QuartzVideo.o) illegal reference to symbol: 
_HideMenuBar defined in indirectly referenced dynamic library 
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
ld: ../libSDL_sound.a(SDL_QuartzYUV.o) illegal reference to symbol: 
_CDSequenceEnd defined in indirectly referenced dynamic library 
/System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime
Holly:~/lithium/dep/osx/SDL_sound-svn/playsound emf$

---



And this is where I call it quits.

So I've made a libSDL_sound.a file, but it would seem that I can't 
actually DO anything with it, because I'm indirectly referencing 
functions supplied in dynamic libraries... Is there a way to statically 
compile these functions into libSDL_sound.a? I wish I knew more about 
making libraries, but I don't. Hopefully somebody here does, and can 
help me.

... Okay, so I'm not the type to give up. I make clean, and start over.

make, and once again I run into the first libtool error:



---

/bin/sh ../../libtool --mode=link gcc  -g -O2 -I/usr/local/include/SDL 
-D_THREAD_SAFE    -o libmpglib.la   libmpglib_la-mpglib_common.lo 
libmpglib_la-layer1.lo libmpglib_la-tabinit.lo 
libmpglib_la-dct64_i386.lo libmpglib_la-interface.lo 
libmpglib_la-layer2.lo libmpglib_la-decode_i386.lo 
libmpglib_la-layer3.lo  -L/usr/local/lib -lSDLmain -lSDL -framework 
Cocoa -framework OpenGL  -lvorbis -lm -lvorbisfile -lvorbisenc

---



So, rather than just running libtool, I shall instead run it with the 
-static option, 'cause it was complaining about dynamic links to other 
libraries (I think):



---

Holly:~/lithium/dep/osx/SDL_sound-svn/decoders/mpglib emf$ libtool 
-static    -o libmpglib.la   libmpglib_la-mpglib_common.lo 
libmpglib_la-layer1.lo libmpglib_la-tabinit.lo 
libmpglib_la-dct64_i386.lo libmpglib_la-interface.lo 
libmpglib_la-layer2.lo libmpglib_la-decode_i386.lo 
libmpglib_la-layer3.lo  -L/usr/local/lib -lSDLmain -lSDL -framework 
Cocoa -framework OpenGL  -lvorbis -lm -lvorbisfile -lvorbisenc
libtool: file: libmpglib_la-mpglib_common.lo is not an object file (not 
allowed in a library)
libtool: file: libmpglib_la-layer1.lo is not an object file (not allowed 
in a library)
libtool: file: libmpglib_la-tabinit.lo is not an object file (not 
allowed in a library)
libtool: file: libmpglib_la-dct64_i386.lo is not an object file (not 
allowed in a library)
libtool: file: libmpglib_la-interface.lo is not an object file (not 
allowed in a library)
libtool: file: libmpglib_la-layer2.lo is not an object file (not allowed 
in a library)
libtool: file: libmpglib_la-decode_i386.lo is not an object file (not 
allowed in a library)
libtool: file: libmpglib_la-layer3.lo is not an object file (not allowed 
in a library)
libtool: can't locate file for: -lm
libtool: file: -lm is not an object file (not allowed in a library)
Holly:~/lithium/dep/osx/SDL_sound-svn/decoders/mpglib emf$

---



Okay, OSX's libtool with the -static option didn't work. Let's just try 
its -dynamic option, then:



---

Holly:~/lithium/dep/osx/SDL_sound-svn/decoders/mpglib emf$ libtool 
-dynamic    -o libmpglib.la   libmpglib_la-mpglib_common.lo 
libmpglib_la-layer1.lo libmpglib_la-tabinit.lo 
libmpglib_la-dct64_i386.lo libmpglib_la-interface.lo 
libmpglib_la-layer2.lo libmpglib_la-decode_i386.lo 
libmpglib_la-layer3.lo  -L/usr/local/lib -lSDLmain -lSDL -framework 
Cocoa -framework OpenGL  -lvorbis -lm -lvorbisfile -lvorbisenc
libtool: file: libmpglib_la-mpglib_common.lo is not an object file (not 
allowed in a library)
libtool: file: libmpglib_la-layer1.lo is not an object file (not allowed 
in a library)
libtool: file: libmpglib_la-tabinit.lo is not an object file (not 
allowed in a library)
libtool: file: libmpglib_la-dct64_i386.lo is not an object file (not 
allowed in a library)
libtool: file: libmpglib_la-interface.lo is not an object file (not 
allowed in a library)
libtool: file: libmpglib_la-layer2.lo is not an object file (not allowed 
in a library)
libtool: file: libmpglib_la-decode_i386.lo is not an object file (not 
allowed in a library)
libtool: file: libmpglib_la-layer3.lo is not an object file (not allowed 
in a library)
Holly:~/lithium/dep/osx/SDL_sound-svn/decoders/mpglib emf$

---



This doesn't work either, but it also doesn't complain about the -lm 
option, as -static did.

Okay, let's see how gcc handles this:



---

Holly:~/lithium/dep/osx/SDL_sound-svn/decoders/mpglib emf$ gcc    -o 
libmpglib.la   libmpglib_la-mpglib_common.lo libmpglib_la-layer1.lo 
libmpglib_la-tabinit.lo libmpglib_la-dct64_i386.lo 
libmpglib_la-interface.lo libmpglib_la-layer2.lo 
libmpglib_la-decode_i386.lo libmpglib_la-layer3.lo  -L/usr/local/lib 
-lSDLmain -lSDL -framework Cocoa -framework OpenGL  -lvorbis -lm 
-lvorbisfile -lvorbisenc    
ld: libmpglib_la-mpglib_common.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-layer1.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-tabinit.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-dct64_i386.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-interface.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-layer2.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-decode_i386.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-layer3.lo bad magic number (not a Mach-O file)
Holly:~/lithium/dep/osx/SDL_sound-svn/decoders/mpglib emf$


---



Okay... So I'm really starting to dislike these .lo files. It's now my 
intention to link to just the .o files... I can either try to link with 
gcc, or with OSX's libtool and its -static option... Both are appealing. 
I'll try OSX's libtool -static, and if that doesn't work, I'll fall back 
to gcc:

First, however, a detour to OSX's libtool -dynamic:


---

Holly:~/lithium/dep/osx/SDL_sound-svn/decoders/mpglib emf$ libtool 
-dynamic    -o libmpglib.la   libmpglib_la-mpglib_common.o 
libmpglib_la-layer1.o libmpglib_la-tabinit.o libmpglib_la-dct64_i386.o 
libmpglib_la-interface.o libmpglib_la-layer2.o 
libmpglib_la-decode_i386.o libmpglib_la-layer3.o  -L/usr/local/lib 
-lSDLmain -lSDL -framework Cocoa -framework OpenGL  -lvorbis -lm 
-lvorbisfile -lvorbisenc
ld: for architecture ppc
ld: common symbols not allowed with MH_DYLIB output format with the 
-multi_module option
libmpglib_la-mpglib_common.o definition of common _bitindex (size 4)
libmpglib_la-mpglib_common.o definition of common _pcm_sample (size 4)
libmpglib_la-mpglib_common.o definition of common _wordpointer (size 4)
libmpglib_la-layer2.o definition of common _muls (size 13824)
libmpglib_la-tabinit.o definition of common _decwin (size 4352)
libmpglib_la-layer3.o definition of common _longLimit (size 828)
libmpglib_la-layer3.o definition of common _shortLimit (size 504)
libtool: internal link edit command failed
Holly:~/lithium/dep/osx/SDL_sound-svn/decoders/mpglib emf$

---



And now on to OSX's libtool -static:



---

libtool -static    -o libmpglib.la   libmpglib_la-mpglib_common.o 
libmpglib_la-layer1.o libmpglib_la-tabinit.o libmpglib_la-dct64_i386.o 
libmpglib_la-interface.o libmpglib_la-layer2.o 
libmpglib_la-decode_i386.o libmpglib_la-layer3.o  -L/usr/local/lib 
-lSDLmain -lSDL -framework Cocoa -framework OpenGL  -lvorbis 
-lvorbisfile -lvorbisenc

---



This "works". Just like it "worked" last cycle. Nevertheless, libtool 
-static does generate a file with a different md5sum than libtool 
without the "-static" option.

At this point, I make, encounter errors, fix them by using OSX's libtool 
-static, and make again. But I get the same results as last time. If I 
try to compile with gcc, specifying libSDL_sound.la via the -l option, 
instead of just as another file to link, here's what I get:



---

Holly:~/lithium/dep/osx/SDL_sound-svn/playsound emf$ gcc  -g -O2 
-I/usr/local/include/SDL -D_THREAD_SAFE    -o playsound  
playsound-playsound.o playsound-physfsrwops.o  -L/usr/local/lib 
-lSDLmain -lSDL -framework Cocoa -framework OpenGL  -lvorbis -lm 
-lvorbisfile -lvorbisenc -L../ -lSDL_sound
ld: Undefined symbols:
___Sound_DecoderFunctions_AIFF
___Sound_DecoderFunctions_AU
___Sound_DecoderFunctions_MIDI
___Sound_DecoderFunctions_MPGLIB
___Sound_DecoderFunctions_OGG
___Sound_DecoderFunctions_RAW
___Sound_DecoderFunctions_SHN
___Sound_DecoderFunctions_SMPEG
___Sound_DecoderFunctions_VOC
___Sound_DecoderFunctions_WAV
Holly:~/lithium/dep/osx/SDL_sound-svn/playsound emf$ 

---



It looks like libSDL_sound.la is referencing some of its dependancies 
that I've compiled. These SHOULD be in libSDL_sound.la, but I guess they 
aren't. I add a reference to -ldecoders and its path, to get the 
following compile line:



---

Holly:~/lithium/dep/osx/SDL_sound-svn/playsound emf$ gcc  -g -O2 
-I/usr/local/include/SDL -D_THREAD_SAFE    -o playsound  
playsound-playsound.o playsound-physfsrwops.o  -L/usr/local/lib 
-lSDLmain -lSDL -framework Cocoa -framework OpenGL  -lvorbis -lm 
-lvorbisfile -lvorbisenc -L../ -lSDL_sound -L../decoders 
-ldecoders                             
ld: Undefined symbols:
___Sound_DecoderFunctions_MIDI
___Sound_DecoderFunctions_SMPEG
_ExitMP3
_InitMP3
_decodeMP3
_mpglib_freqs
Holly:~/lithium/dep/osx/SDL_sound-svn/playsound emf$


---



This seems like progress. But this is the only lib that reduces the 
undefined symbols. I can't get the others to work, due to bad magic 
numbers, or out of date tables of contents. Whatever that all means.

So, my OSX libtool -static run was a bust. Finally, I try a run with 
gcc, after a make clean.

If I try to link the .lo files, I get the following errors:



---

Holly:~/lithium/dep/osx/SDL_sound-svn/decoders/mpglib emf$ gcc  -g -O2 
-I/usr/local/include/SDL -D_THREAD_SAFE    -o libmpglib.la   
libmpglib_la-mpglib_common.lo libmpglib_la-layer1.lo 
libmpglib_la-tabinit.lo libmpglib_la-dct64_i386.lo 
libmpglib_la-interface.lo libmpglib_la-layer2.lo 
libmpglib_la-decode_i386.lo libmpglib_la-layer3.lo  -L/usr/local/lib 
-lSDLmain -lSDL -framework Cocoa -framework OpenGL  -lvorbis -lm 
-lvorbisfile -lvorbisenc
ld: libmpglib_la-mpglib_common.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-layer1.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-tabinit.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-dct64_i386.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-interface.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-layer2.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-decode_i386.lo bad magic number (not a Mach-O file)
ld: libmpglib_la-layer3.lo bad magic number (not a Mach-O file)
Holly:~/lithium/dep/osx/SDL_sound-svn/decoders/mpglib emf$

---



So I link the .o files instead. And get another fun error:



---

Holly:~/lithium/dep/osx/SDL_sound-svn/decoders/mpglib emf$ gcc  -g -O2 
-I/usr/local/include/SDL -D_THREAD_SAFE    -o libmpglib.la   
libmpglib_la-mpglib_common.o libmpglib_la-layer1.o 
libmpglib_la-tabinit.o libmpglib_la-dct64_i386.o 
libmpglib_la-interface.o libmpglib_la-layer2.o 
libmpglib_la-decode_i386.o libmpglib_la-layer3.o  -L/usr/local/lib 
-lSDLmain -lSDL -framework Cocoa -framework OpenGL  -lvorbis -lm 
-lvorbisfile -lvorbisenc
ld: Undefined symbols:
___Sound_SetError
_SDL_main
Holly:~/lithium/dep/osx/SDL_sound-svn/decoders/mpglib emf$

---



At this point I'm satisfied that I've exausted all the alternative 
compilation methods I spoke of involving gcc, and OSX's libtool (both 
-static and -dynamic). It's quitely likely that there's some way, out 
there, that I don't know of. If anybody has any hints, or things that 
they think might be helpful to try, please let me know.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://icculus.org/pipermail/sdlsound/attachments/20050703/212fc142/attachment.htm>


More information about the sdlsound mailing list