How do you build Exult on Mac OS X?

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Locked
Sean Gies

How do you build Exult on Mac OS X?

Post by Sean Gies »

Are there instructions for building Exult on Mac OS X? I tried opening the Exult.pbproj in Project Builder, but it is not valid (all its files are not checked in). Thanks, Sean.
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: How do you build Exult on Mac OS X?

Post by wjp »

I'm fairly sure it's simply

./configure
make
Anonymous

Re: How do you build Exult on Mac OS X?

Post by Anonymous »

Err, I assume you need to install Fink first, and use it to get libsdl and libsdl_mixer?
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: How do you build Exult on Mac OS X?

Post by wjp »

Well, you need to install SDL and SDL_mixer in such a way that configure will find them, yes. Fink is one way to do that.
seangies
Posts: 6
Joined: Thu May 14, 2020 1:34 pm

Re: How do you build Exult on Mac OS X?

Post by seangies »

Ok, so this was a little harder than I expected. But I'm still stumped.

I already had Fink, so I just installed SDL and SDL_mixer. My first attempt at installing the SDL developer frameworks availble directly from libsdl.org did not work. They do not contain libsdl.m4, just headers and binaries, and the Exult build process is hard-coded to look for the Fink-installed version.

I also had to do this:
sudo ln -s /sw/lib/libsmpeg..dylib /sw/lib/libsmpeg.dylib

Using the 1.1b2 source snapshot, I was finally able to run
./configure
make

It built fine, but would not run. It would crash with some malloc error when the Black Gate game menu was supposed to be displayed:
malloc_zone_something() invalid size: -6

So... Trying the latest directly from CVS:
I could not get the configure script built properly. First I had to use Fink to upgrade automake & autoconf to the latest versions in order to run the autogen.sh script.

Then, it gave me warnings that I should add the contents of libtool.m4 to aclocal.m4. Ignore, moving on... The configure script built, but would not produce a valid Makefile: There was some buisiness about @OBJCDEPMODE@ and it being unable to auto-detect the Objective-C compiler.

At this point, I gave up and went back to playing the game. :) I would really appreciate it if someone who knows what they're doing could fix the build process on OSX, or at least update the INSTALL file to include more detailed instructions. Better yet--check in a good version of the Project Builder and Interface Builder files.

Thanks.

(Let me know if I should post more accurate error messages to help debug this stuff. I'm on a different system right now.)
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: How do you build Exult on Mac OS X?

Post by Dominus »

Are you running the latest version of OSX? There was some serious bug that prevented you from actually playing exult.

See http://exult.info/forum/viewtopic.php?p=14803#p14803
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
seangies
Posts: 6
Joined: Thu May 14, 2020 1:34 pm

Re: How do you build Exult on Mac OS X?

Post by seangies »

It works! Thanks.

These were my steps to make it happen. They should probably be documented somewhere in the INSTALL or README.MacOSX:

Install these from Apple:
December 2002 Mac OS X Developer Tools
Dec 2002 gcc Updater (gcc 3.3)

Install these packages with Fink:
sdl
sdl-mixer
automake1.7
libtool14

Create these symbolic links:
sudo ln -s /sw/lib/libsmpeg-0.4.0.dylib /sw/lib/libsmpeg.dylib
sudo ln -s /sw/lib/libvorbisfile.3.dylib /sw/lib/libvorbisfile.dylib
sudo ln -s /sw/lib/libvorbis.0.dylib /sw/lib/libvorbis.dylib
sudo ln -s /sw/lib/libogg.0.dylib /sw/lib/libogg.dylib

Compile Exult:
./autogen.sh
./configure
make
seangies
Posts: 6
Joined: Thu May 14, 2020 1:34 pm

Re: How do you build Exult on Mac OS X?

Post by seangies »

Oops! Forgot a step:

Activate gcc 3.3 (from Apple's updater):
sudo gcc_select 3.3
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: How do you build Exult on Mac OS X?

Post by Dominus »

noted! You need latest OSX, too, right?
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
seangies
Posts: 6
Joined: Thu May 14, 2020 1:34 pm

Re: How do you build Exult on Mac OS X?

Post by seangies »

I'm not sure about the version of OS X required. Personally, I always keep my systems up-to-date. I'm running 10.2.6 (Jaguar with all the software updates).

I'm going to notify the Fink maintainers about those symbolic links. I believe they should be set up when SDL is installed.

If I were proficient with shell scripts, I'd do this myself, but...

It would be nice if Exult's configure script checked for gcc 3.3 or later. Currently, on OSX, it's typical to switch back and forth between 3.1 and 3.3 because of the significant differences between the two. (They are both buggy)

It would also be nice if the autogen script checked for the versions of automake, autoconf and libtool. (I didn't list autoconf in my steps because automake pulls it in as a dependency.)
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: How do you build Exult on Mac OS X?

Post by Dominus »

he he, fink maintainer and Exult OS X port maintainer are the same Person :-) At least one of them!
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Anonymous

Re: How do you build Exult on Mac OS X?

Post by Anonymous »

wjp said:

> Well, you need to install SDL and SDL_mixer in such a way that
> configure will find them, yes. Fink is one way to do that.

Can you tell me what other ways there are to get SDL etc. without using Fink? Are you referring to the Frameworks? I'd like to be able to get ".a" versions of these libraries without having to use fink.
Locked