SDL 1.2.4/1.2.5 + Mac OS X

Hi,

I have the following problems when compiling Rocks’n’Diamonds
(see www.artsoft.org/rocksndiamonds/ for source code package)
with either SDL 1.2.4 or 1.2.5 (from CVS from 2002-06-15) on
Mac OS X 10.1 (compiling it with SDL 1.2.2 works fine, but then
I cannot use the current SDL_mixer 1.2.4):

When compiling with SDL 1.2.4, I get:
---------- snap ----------
cc main.o init.o config.o events.o tools.o screens.o game.o editor.o files.o tape.o cartoons.o network.o netserv.o libgame/libgame.a -lSDL_image -lSDL_mixer
-L/usr/local/lib -lSDLmain -lSDL -framework OpenGL -framework AGL -framework Carbon -lm -o …/rocksndiamonds
/usr/bin/ld: Undefined symbols:
_NAStuffToneDescription
_TuneGetStatus
_TunePreroll
_TuneQueue
_TuneSetHeader
_TuneSetTimeScale
_TuneSetVolume
_TuneStop
_TuneUnroll
make[1]: *** […/rocksndiamonds] Error 1
make: *** [sdl] Error 2
---------- snap ----------

When compiling with SDL 1.2.5/CVS, I get:
---------- snap ----------
cc main.o init.o config.o events.o tools.o screens.o game.o editor.o files.o tape.o cartoons.o network.o netserv.o libgame/libgame.a -lSDL_image -lSDL_mixer
-L/usr/local/lib -lSDLmain -lSDL -framework Cocoa -framework OpenGL -lm -o …/rocksndiamonds
/usr/bin/ld: /usr/local/lib/libSDL_mixer.a(native_midi_mac.o) illegal reference to symbol: _NAStuffToneDescription defined in indirectly referenced dynamic
library /System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime
make[1]: *** […/rocksndiamonds] Error 1
make: *** [sdl] Error 2
---------- snap ----------

(The Makefile uses sdl-config ... in both cases.)

Has anybody any idea what might be going wrong here?
(The only obvious difference I see is that SDL 1.2.2 used “-framework
Carbon” instead of “-framework Cocoa” with SDL 1.2.4/1.2.5.)

Thanks in advance for any hint!

Best regards,
Holger–
holger.schemel at mediaways.net

Hi,

I have the following problems when compiling Rocks’n’Diamonds

[…]

You should be linking to Quicktime.framework, I think that will help.

cc main.o init.o config.o events.o tools.o screens.o game.o editor.o
files.o tape.o cartoons.o network.o netserv.o libgame/libgame.a
-lSDL_image -lSDL_mixer
-L/usr/local/lib -lSDLmain -lSDL -framework Cocoa -framework OpenGL
-framework QuickTime -lm -o …/rocksndiamonds

I thought this was added to sdl-config when the YUV acceleration code
was added a while back. Perhaps this change hasn’t made it yet… Max?

I don’t think sdl-config will detect the SDL_mixer QuickTime dependency,
so with 1.2.2 you would have to add this. With 1.2.5 since SDL itself
contains QuickTime calls now, sdl-config should have picked that up for
you.

Cheers,
DarrellOn Tuesday, July 23, 2002, at 08:07 PM, Holger Schemel wrote:

Hi Darrell,

I have the following problems when compiling Rocks’n’Diamonds
[…]

You should be linking to Quicktime.framework, I think that will help.

cc main.o init.o config.o events.o tools.o screens.o game.o editor.o
files.o tape.o cartoons.o network.o netserv.o libgame/libgame.a
-lSDL_image -lSDL_mixer
-L/usr/local/lib -lSDLmain -lSDL -framework Cocoa -framework OpenGL
-framework QuickTime -lm -o …/rocksndiamonds

That was exactly the cause. Now when I look at the error message again,
I think that I should have been able to solve it by myself. Adding the
missing “-framework QuickTime” did the job – thanks a lot! :slight_smile:

I thought this was added to sdl-config when the YUV acceleration code
was added a while back. Perhaps this change hasn’t made it yet… Max?

The change found its way into the “sdl-config” script, but was then
commented out again. (Or, more precisely, the "-framework QuickTime"
is missing for the “–libs” option, but is there for the "–staticlibs"
option (where “–libs|–static-libs” is commented out, which would also
do the right job here).)

I don’t think sdl-config will detect the SDL_mixer QuickTime dependency,
so with 1.2.2 you would have to add this. With 1.2.5 since SDL itself
contains QuickTime calls now, sdl-config should have picked that up for
you.

It hasn’t. :frowning:
(At least not in the actual CVS snapshot tarball.)

This seems to be a small bug that should be fixed in the Mac OS X version
of “sdl-config”, I think…

Thanks again for your help!

Best regards,
Holger–
holger.schemel at mediaways.net