Page 1 of 3

Anyone offering precompiled binaries of latest (or recent) s

Posted: Sat Apr 04, 2009 1:34 pm
by BizcoBird
Hey Exult folks.

I've been out of the game for a few years, but I have a hankering to play a little Ultima VII on Exult again. The last time I played was on a PPC OS X machine, and Exult 1.2 worked great there. However, I'm on an Intel system now, and I'm wondering (hoping) if anyone is creating precompiled binaries of latest (or recent) snapshots for OS X?

I know you can compile for OS X from CVS, but I was curious if anyone is making this available already precompiled. I've searched the forum and FAQ, but nothing is jumping out at me.

Thanks for any info. I've really enjoyed and appreciated all the hard work that the Exult developers have put into the application.

Cheers,
MR

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Mon Apr 06, 2009 2:37 pm
by BizcoBird
Doesn't look like anyone here is regularly compiling 10.5 binaries. Does anyone have a relatively recent Exult 1.4.x precompiled binary for Mac OS X 10.5?

Thanks again for any help.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Tue Apr 07, 2009 3:28 pm
by MeddlingMonk
There is a problem with this, and that has to do with linking the required libraries. Last summer there was some back and forth about it and when another person offered his own builds I gave it a try (despite making my own builds) and found the bundle wouldn't work. He tried one of mine and that bundle also wouldn't work. It was found that running the binaries from terminal would and that revealed the problem, which was that he was building in an environment using MacPorts and I was using Fink and the linked libraries were in diffrent locations. Which means that unless you had the same environment set up that I have, my builds won't work properly for you. The other person thought that trying to make an Xcode project for Exult might help but there hasn't been any noise from him about that for months and I suspect that the only way to be able to compile binaries that can be easily shared is if changes are made on the coding side (along the lines maybe of what Pentagram has done and what ScummVM seems to be starting on) but I'm not a coder.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Thu Apr 09, 2009 4:12 pm
by BizcoBird
Thanks for letting me know. I didn't realize it was so difficult to produce OS X precompiled binaries that would work for everyone. I hope that someone with more ability than me can get this working via Xcode -- I really miss being able to play U7 on Exult.

Thanks again for the information.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Fri Apr 10, 2009 12:02 pm
by MeddlingMonk
I don't think Xcode is strictly speaking necessary. When you compile Pentagram in the recommended way in OSX in terminal you end up with a univeral binary that can be used on any Mac regardless of dev environment. But that's only because the code was written so as to produce that result. It wasn't always that way. It used to be like Exult but the Pentagram devs made changes in their code.

But if you're willing to do a little (but time-consuming) work, you can make your own builds. First you'd need Xcode. Yes, Exult isn't buildable in Xcode but that's not the point: Xcode sets up the basic environment which is necessary for step two, which is setting up Fink or MacPorts. I use Fink because. (Not a sentence fragment; the choice really comes down to just 'because'.) Fink or MacPorts allows you to get the other libraries you need to build things like Exult. There is a learning curve, it takes time, but once it's done you're then able to fairly easily 'roll your own.'

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Fri Apr 17, 2009 12:49 pm
by E_Jim
Got to love how Mac OS X "just works", don't you think?? ;-)

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Fri Apr 17, 2009 6:32 pm
by MeddlingMonk
Erm...that would a pretty good dig except that Windows also doesn't come with a dev environment already set up. Being able to compile code isn't exactly a core OS function.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jun 24, 2009 9:52 am
by Dominus
ok, I've gone mac and I have a hard time myself now...
Mostly because I don't *get* Fink. Probably because I rushed into things too fast without properly reading everything (hey, do as I say, don't do as I do :)).
Anyway, Exult itself builds fine, though without fluidsynth support. Configure says there is no fluidsynth.h, even though Fink says it's installed and Spotlight finds it as well.
Building with Exult Studio fails in mapedit, with
Making all in mapedit
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -DEXULT_DATADIR=\"data\" -MT shapelst.o -MD -MP -MF ".deps/shapelst.Tpo" -c -o shapelst.o shapelst.cc; \
then mv -f ".deps/shapelst.Tpo" ".deps/shapelst.Po"; else rm -f ".deps/shapelst.Tpo"; exit 1; fi
shapelst.cc: In member function ‘time_t Shape_chooser::export_png(const char*, Image_buffer8&, int, int)’:
shapelst.cc:802: error: ‘Export_png8’ was not declared in this scope
shapelst.cc: In function ‘void Import_png(const char*, Shape_file_info*, unsigned char*, int, int)’:
shapelst.cc:1119: error: ‘Import_png8’ was not declared in this scope
shapelst.cc: In function ‘void Import_png_tiles(const char*, Shape_file_info*, unsigned char*, int, int, bool)’:
shapelst.cc:1187: error: ‘Import_png8’ was not declared in this scope
shapelst.cc: In member function ‘void Shape_chooser::import_all_pngs(char*, int)’:
shapelst.cc:1404: error: ‘Import_png8’ was not declared in this scope
make[2]: *** [shapelst.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Pentagram fails at ./configure because it says libpng is not there (it is there... ahhhh).
and when I make the deps it fails with zlib somehow...
cd /Users/dominus/Code/SVN/Pentagram/trunk/build/i386/lib; if test -f libz.1.2.3.dylib; then \
rm -f libz.dylib libz.1.dylib; \
ln -s libz.1.2.3.dylib libz.dylib; \
ln -s libz.1.2.3.dylib libz.1.dylib; \
(ldconfig || true) >/dev/null 2>&1; \
fi
cp zlib.3 /Users/dominus/Code/SVN/Pentagram/trunk/build/i386/share/man/man3
chmod 644 /Users/dominus/Code/SVN/Pentagram/trunk/build/i386/share/man/man3/zlib.3
cd /Users/dominus/Code/SVN/Pentagram/trunk/build/zlib.build/ppc && make install
mkdir: /usr/local/share: Permission denied
make[2]: [install] Error 1 (ignored)
cp zlib.h zconf.h /usr/local/include
cp: /usr/local/include/zlib.h: Permission denied
cp: /usr/local/include/zconf.h: Permission denied
make[2]: *** [install] Error 1
make[1]: *** [install_zlib.ppc] Error 2
make: *** [deps] Error 2
I am kind of helpless now :)

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jun 24, 2009 6:15 pm
by MeddlingMonk
I don't think Fink is the problem exactly. I started having the same problem with Pentagram a while back but haven't been too concerned since the most recent modfications seem to be Windows-only. I gave MacPorts a try but with the same (or similar) results. Ditto Exult unless it's without Studio being built (which I generally don't bother with). I suspect part of the blame goes to the slightly odd way OSX does Unix because I haven't experienced these things with Fedora (except the usual fun when there's a new version, and Fedora is always newer than new). There hasn't really been a big OSX person among the devs for a while, has there?

------

BTW, what do you have in your .profile? For Fink you should have
test -r /sw/bin/init.sh && . /sw/bin/init.sh

export CFLAGS=-I/sw/include
export LDFLAGS=-L/sw/lib
export CXXFLAGS=$CFLAGS
export CPPFLAGS=$CXXFLAGS
export ACLOCAL_FLAGS="-I /sw/share/aclocal"
export PKG_CONFIG_PATH="/sw/lib/pkgconfig"
export MACOSX_DEPLOYMENT_TARGET=10.4
If you only have the first line, you'll want the rest (although it won't solve your problems, it's still a good idea).

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jun 24, 2009 6:30 pm
by MeddlingMonk
Oh, and I'm grabbing the Exult and Pentagram source to see if I get exactly what you get. Maybe comparing will help.

And, when you try to build Pentagram, are going by the OSX directions in the Readme or just "./bootstrap && ./configure && make"?

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jun 24, 2009 7:42 pm
by MeddlingMonk
Actually, it's pretty obvious you're not following the OSX build directions in the Pentagram Readme. I wasn't looking at what you'd written closely enough, so I'm just being stupid.

Following the Readme's instructions, you're supposed to end up with a disk image with an app bundle that can be run on any Mac (or any Mac with the same type of processor--I'm not sure if it's a universal app). When you enter the second command on the list of what to do, it downloads certain libraries like libpng and zlib even if you have them already. I suppose they decided that was the best way of accomplishing what they were after. Instead ./configure because what Pentagram really wants after ./bootstrap on a Mac is make -f Makefile.macosx deps. But while following those directions used to work for me, now I get (when doing make -f Makefile.macosx deps after ./bootstrap) is:
ld warning: duplicate dylib /Users/MeddlingMonk/Desktop/pentagram/build/i386/lib/libz.1.dylib
ld: in /sw/lib/libxml2.2.dylib, file is not of required architecture
collect2: ld returned 1 exit status
make[2]: *** [libSDL_ttf.la] Error 1
make[1]: *** [build_SDL_ttf.i386] Error 2
make: *** [deps] Error 2
I really can't understand how libxml can be the wrong architecture when it was installed by Fink by downloading the source code and compiling it on my computer. Seriously, how can something be built on my computer and not end up the right architecture? That's like having plaster come out of a mold a different shape than the mold! Something very strange is going on with Pentagram, I think. Is it assuming that I've got an Intel processor when it's really PPC? But at least I had no problem regarding libpng. ;)

Exult, with Studio enabled, is still compiling. No errors yet.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jun 24, 2009 8:13 pm
by MeddlingMonk
OK. No problems at all building Exult with Studio enabled. This is what I get where it makes mapedit:
Making all in mapedit
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT bargeedit.o -MD -MP -MF .deps/bargeedit.Tpo -c -o bargeedit.o bargeedit.cc
mv -f .deps/bargeedit.Tpo .deps/bargeedit.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT chunklst.o -MD -MP -MF .deps/chunklst.Tpo -c -o chunklst.o chunklst.cc
mv -f .deps/chunklst.Tpo .deps/chunklst.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT combo.o -MD -MP -MF .deps/combo.Tpo -c -o combo.o combo.cc
mv -f .deps/combo.Tpo .deps/combo.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT compile.o -MD -MP -MF .deps/compile.Tpo -c -o compile.o compile.cc
mv -f .deps/compile.Tpo .deps/compile.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT eggedit.o -MD -MP -MF .deps/eggedit.Tpo -c -o eggedit.o eggedit.cc
mv -f .deps/eggedit.Tpo .deps/eggedit.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT execbox.o -MD -MP -MF .deps/execbox.Tpo -c -o execbox.o execbox.cc
mv -f .deps/execbox.Tpo .deps/execbox.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT locator.o -MD -MP -MF .deps/locator.Tpo -c -o locator.o locator.cc
mv -f .deps/locator.Tpo .deps/locator.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT maps.o -MD -MP -MF .deps/maps.Tpo -c -o maps.o maps.cc
mv -f .deps/maps.Tpo .deps/maps.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT npcedit.o -MD -MP -MF .deps/npcedit.Tpo -c -o npcedit.o npcedit.cc
mv -f .deps/npcedit.Tpo .deps/npcedit.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT npclst.o -MD -MP -MF .deps/npclst.Tpo -c -o npclst.o npclst.cc
mv -f .deps/npclst.Tpo .deps/npclst.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT objedit.o -MD -MP -MF .deps/objedit.Tpo -c -o objedit.o objedit.cc
mv -f .deps/objedit.Tpo .deps/objedit.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT contedit.o -MD -MP -MF .deps/contedit.Tpo -c -o contedit.o contedit.cc
mv -f .deps/contedit.Tpo .deps/contedit.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT shapeedit.o -MD -MP -MF .deps/shapeedit.Tpo -c -o shapeedit.o shapeedit.cc
mv -f .deps/shapeedit.Tpo .deps/shapeedit.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT studio.o -MD -MP -MF .deps/studio.Tpo -c -o studio.o studio.cc
mv -f .deps/studio.Tpo .deps/studio.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT exult_studio.o -MD -MP -MF .deps/exult_studio.Tpo -c -o exult_studio.o exult_studio.cc
mv -f .deps/exult_studio.Tpo .deps/exult_studio.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT objbrowse.o -MD -MP -MF .deps/objbrowse.Tpo -c -o objbrowse.o objbrowse.cc
mv -f .deps/objbrowse.Tpo .deps/objbrowse.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT paledit.o -MD -MP -MF .deps/paledit.Tpo -c -o paledit.o paledit.cc
mv -f .deps/paledit.Tpo .deps/paledit.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT shapedraw.o -MD -MP -MF .deps/shapedraw.Tpo -c -o shapedraw.o shapedraw.cc
mv -f .deps/shapedraw.Tpo .deps/shapedraw.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT shapefile.o -MD -MP -MF .deps/shapefile.Tpo -c -o shapefile.o shapefile.cc
mv -f .deps/shapefile.Tpo .deps/shapefile.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT shapegroup.o -MD -MP -MF .deps/shapegroup.Tpo -c -o shapegroup.o shapegroup.cc
mv -f .deps/shapegroup.Tpo .deps/shapegroup.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT shapelst.o -MD -MP -MF .deps/shapelst.Tpo -c -o shapelst.o shapelst.cc
mv -f .deps/shapelst.Tpo .deps/shapelst.Po
g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../shapes -I./../imagewin -I./../conf -I./../gamemgr -I./../files -I./../server -I./../usecode -I/sw/include/libglade-2.0 -I/sw/include/gtk-2.0 -I/sw/include/libxml2 -I/sw/include -I/sw/lib/gtk-2.0/include -I/sw/include/atk-1.0 -I/sw/include/cairo -I/sw/include/pango-1.0 -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include -I/sw/include/pixman-1 -I/sw/include/freetype2 -I/sw/include/libpng12 -I/usr/X11R6/include -I/usr/X11/include -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT ucbrowse.o -MD -MP -MF .deps/ucbrowse.Tpo -c -o ucbrowse.o ucbrowse.cc
mv -f .deps/ucbrowse.Tpo .deps/ucbrowse.Po
/bin/sh ../libtool --tag=CXX --mode=link g++ -I/sw/include -export-dynamic -L/sw/lib -o exult_studio bargeedit.o chunklst.o combo.o compile.o eggedit.o execbox.o locator.o maps.o npcedit.o npclst.o objedit.o contedit.o shapeedit.o studio.o exult_studio.o objbrowse.o paledit.o shapedraw.o shapefile.o shapegroup.o shapelst.o ucbrowse.o ../conf/libconf.la ../imagewin/libimagewin.la ../gamemgr/libgamemgr.la ../shapes/libshapes.la ../files/libu7file.la ../files/zip/libminizip.la ../server/libserver.la ../usecode/libusecode.la -lpng -L/sw/lib -lfreetype -lz -Wl,-framework,CoreServices -Wl,-framework,ApplicationServices -framework AudioUnit -framework CoreMIDI -L/sw/lib -L/usr/X11/lib -Wl,-framework,CoreServices -Wl,-framework,ApplicationServices -lglade-2.0 -lgtk-x11-2.0 -lxml2 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lz -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -lz
libtool: link: g++ -I/sw/include -o exult_studio bargeedit.o chunklst.o combo.o compile.o eggedit.o execbox.o locator.o maps.o npcedit.o npclst.o objedit.o contedit.o shapeedit.o studio.o exult_studio.o objbrowse.o paledit.o shapedraw.o shapefile.o shapegroup.o shapelst.o ucbrowse.o -Wl,-framework -Wl,CoreServices -Wl,-framework -Wl,ApplicationServices -Wl,-framework -Wl,CoreServices -Wl,-framework -Wl,ApplicationServices -L/sw/lib ../conf/.libs/libconf.a ../imagewin/.libs/libimagewin.a ../gamemgr/.libs/libgamemgr.a ../shapes/.libs/libshapes.a ../files/.libs/libu7file.a ../files/zip/.libs/libminizip.a ../server/.libs/libserver.a ../usecode/.libs/libusecode.a -framework AudioUnit -framework CoreMIDI -L/usr/X11/lib /sw/lib/libglade-2.0.dylib -L/sw/lib/fontconfig2/lib -L/sw/lib/freetype219/lib /sw/lib/libgtk-x11-2.0.dylib /sw/lib/libxml2.dylib -lpthread /sw/lib/libgdk-x11-2.0.dylib /sw/lib/libatk-1.0.dylib /sw/lib/libgdk_pixbuf-2.0.dylib /sw/lib/libgio-2.0.dylib /sw/lib/pango-ft219/lib/libpangocairo-1.0.dylib /sw/lib/pango-ft219/lib/libpangoft2-1.0.dylib /sw/lib/libcairo.dylib /sw/lib/libpixman-1.dylib /sw/lib/fontconfig2/lib/libfontconfig.dylib /sw/lib/libexpat.dylib /sw/lib/libglitz.dylib /sw/lib/libpng12.dylib /usr/X11/lib/libXrender.dylib /usr/X11/lib/libX11.dylib /usr/X11/lib/libXau.dylib /usr/X11/lib/libXdmcp.dylib /sw/lib/pango-ft219/lib/libpango-1.0.dylib -lm /sw/lib/freetype219/lib/libfreetype.dylib /usr/X11/lib/libfontconfig.1.3.0.dylib /usr/lib/libiconv.dylib /usr/X11/lib/libfreetype.dylib /usr/lib/libexpat.dylib /sw/lib/libgobject-2.0.dylib /sw/lib/libgmodule-2.0.dylib /sw/lib/libglib-2.0.dylib /sw/lib/libintl.dylib /sw/lib/libiconv.dylib -lc -lz
Maybe that will help but I wonder now if I really wasn't on to something when I asked about what's in your ".profile".

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jun 24, 2009 9:00 pm
by Malignant Manor
I don't have a Mac but...

Import_png8
Can you manually add "-lpng" to the "LIBS =" part of the makefile?

Permission denied
Did you have admin rights?

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jun 24, 2009 9:51 pm
by MeddlingMonk
Can you manually add "-lpng" to the "LIBS =" part of the makefile?
He doesn't need to. I'm fairly certain that his Exult-building problem is probably due to his bash profile not having certain entries it needs for building with Fink. As long has he installed libpng using Fink, the error is probably just because the computer isn't looking in the right place for the Fink-installed libraries.

If you're not a Mac user, the above is probably just gibberish; but, believe me, it really does make sense.
Did you have admin rights?
It would be hard for him not to. When a Mac is first turned on, part of the first-boot routine is setting up the admin account (and adding it to the sudoers list). Unless he then set up a second user account and switched to it, he has admin rights by default.

I really, really think that Dominus should just first add those lines to .profile and try again. (For now I'm going to assume that he knows what I'm talking about.)

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jun 24, 2009 10:05 pm
by Dominus
Exult/Studio:
@Meddling Monk, the lines in .profile did the trick for building Exult with Exult Studio support (and fuidsynth.h was also found this time). But... hmm... after building both, the binary exult_studio sits in the mapedit tree of the source and it only crashes... How to procceed here now?
And I also wonder if I should pester Fingolfin for CoreMIDI support in Exult. I'd really like to use my Roland MT32...

Pentagram:
@Malignant Manor, I also thought of the admin rights problem and used sudo now, followed the instructions and did NOT run ./configure, I get further than before only to be stopped at
checking for memset... no
configure: error: memset not found in libc
make[1]: *** [configure_libpng.ppc] Error 1
Thanks to both of you so far...

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Thu Jun 25, 2009 1:06 am
by MeddlingMonk
the binary exult_studio sits in the mapedit tree of the source and it only crashes... How to procceed here now?
Not sure. I didn't even think of trying to run ES and just trashed the build when it didn't fail to compile (since I already had an Exult binary). OK, so I compile again and see what I get. But what you can/should do is look at the crash log in Console if you haven't yet. That rarely tells >me< anything but I'm not a coder, am I?
And I also wonder if I should pester Fingolfin for CoreMIDI support in Exult.
That would be nice to have. So would aspect-ratio correction. (Can't resist plugging that from time to time.)
and used sudo now
You don't really need to since you're not ever going to be doing "make install" on your Mac. On the other hand, it won't do any harm that I know of.
make[1]: *** [configure_libpng.ppc] Error 1
Now, this is very strange. It seems to be the mirror image of my "make[1]: *** [build_SDL_ttf.i386] Error 2" problem because it's an error about the other architecture. Presumably. I've got a PPC Mac and, Dominus, am I right in thinking you've got an Intel Mac? If that's so, it's looks as if Pentagram is misidentifying the architecture OR is having some kind of problem I don't understand in trying to build for a universal binary (if that's what it ends up with).

Maybe it's worthwhile to be sure about the binary. If you've really got an Intel Mac, try my last successful Pentagram build. If it works for you, great, and maybe that'll sort of prove that Pentagram since then introduced a bug relating to compiling on Macs and a bug report can be made if anyone can figure out just how to describe it.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Thu Jun 25, 2009 1:27 am
by Malignant Manor
memset not found in libc

It sounds like it can't find libc. I think it should it be installed to "/usr/lib" or the compiler directed to the lib. (but again not a familiar compiler or OS)

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Thu Jun 25, 2009 1:43 am
by Malignant Manor
For Pentagram, maybe saying specifically which steps you have done could give more details for someone else to help you.


Mac OS X
Under OS X, the dependencies are built into the application bundle as embedded libraries. Pentagram provides makefiles to build the dependencies appropriately. Internally, the OS X specific makefiles use normal unix-style configure & make to build Pentagram and all dependencies.
1. Run the "bootstrap" script to create the "configure" script: ./bootstrap
2. Build all dependencies: make -f Makefile.macosx deps
3. Build Pentagram: make -f Makefile.macosx build
4. Build Pentagram.app: make -f Makefile.macosx bundle
5. Build disk image: make -f Makefile.macosx image
6. The disk image is located in the build directory and contains the universal binary

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Thu Jun 25, 2009 2:26 am
by MeddlingMonk
Malignant Manor:
I think it should it be installed to "/usr/lib"
It doesn't work like that with OSX. It's Unix, but it's different Unix. The normal Unix file/folder structure is used only for the OS itself. Developer stuff is completely separate and has to come in two parts. There's Xcode which gives you the really, really core stuff like gcc and puts it into Developer/usr/lib (or bin or wherever something needs to be). And then there's Fink or MacPorts for everything else which have top-level folders named sw (Fink) and opt (MacPorts). So with OSX you've got /usr/lib, Developer/usr/lib, and /sw/usr/lib (or opt/(something maybe I think I've forgotten)/usr/lib. That's OSX for you: Really simple on the surface, insanely complicated underneath.

Dominus:

I've been fiddling with trying to get ES to run. I've tried just running exult_studio from terminal to start with. What I get is the X11 icon bounces (do you have X11 installed?--it's not installed by default on OSX) and in terminal I get stuff like:
(exult_studio:82285): Gtk-CRITICAL **: gtk_radio_menu_item_set_group: assertion `GTK_IS_RADIO_MENU_ITEM (radio_menu_item)' failed

(exult_studio:82285): Gtk-CRITICAL **: gtk_radio_menu_item_get_group: assertion `GTK_IS_RADIO_MENU_ITEM (radio_menu_item)' failed

(exult_studio:82285): Gtk-CRITICAL **: gtk_check_menu_item_set_active: assertion `GTK_IS_CHECK_MENU_ITEM (check_menu_item)' failed

(exult_studio:82285): libglade-CRITICAL **: glade_xml_get_widget: assertion `self != NULL' failed

(exult_studio:82285): Gtk-CRITICAL **: gtk_menu_item_get_submenu: assertion `GTK_IS_MENU_ITEM (menu_item)' failed

(exult_studio:82285): Gtk-CRITICAL **: gtk_container_foreach: assertion `GTK_IS_CONTAINER (container)' failed
I should add that things I've installed using Fink (like GnuCash) which require GTK do run for me just fine.

Now, if I instead run exult from terminal and do ctrl-alt-command-M I get the map edit grid right enough but no ES interface (which the above pretty clearly implies would be the case, obviously).

I think maybe there's a clash of window interfaces here: Aqua and X11. The Exult binary itself runs without requiring X11. But GTK does require X11. How can Exult run in Aqua and Exult Studio run in X11 (if it did, actually, run in X11 at all) and even work together?

It's late and this is getting way over my head, but I've come across http://gtk-osx.sourceforge.net/ which maybe would get around the whole problem of Fink/MacPorts-supplied GTK needing X11 if Exult could make use of it. But, of course, I'm no coder and don't really know.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Thu Jun 25, 2009 7:19 am
by Dominus
By "fixing" the data folder and put everything in it, that is needed, I could make Exult Studio to start but not to make it connect to Exult. A lot of GTK error messages and a
Can't find gamedat for socket
which makes no sense to me, since the gamedat folders are found by Exult...
I really need to bug Fingolfin, maybe he feels up to it...

The pentagram you built works fine here.

As for my system it is an intel iMac with 10.5.7, X11 comes preinstalled with Leopard, at least it was for me and I only updated to newer XQuartz. As for sudo, I guess with Leopard Apple made it similar to MS with their newer Windows OS', that even though you are the main user, you still have to enter your password for some stuff...

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Thu Jun 25, 2009 5:41 pm
by MeddlingMonk
OK, nice to know that the Pentagram build routine really does produce a universal binary. When it works. But you get an error related to the PPC architecture and I get one related to Intel trying to build now, and that means a bug but I'm having trouble thinking of a clear, concise way of describing it for a bug report.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Thu Jun 25, 2009 11:00 pm
by Watt
Hello all.
I'd be the person responsible for the goofy OS X build of Pentagram.
I was trying to make it completely isolated from every else except the proper SDK version and tools installed alongside Xcode and never having to "make install" into standard locations, but I'm guessing from reading above that it's still getting mixed up with from Fink packages and possibly the build scripts trying to install headers to the standard locations.

It should be trying to build each dependency and Pentagram for both i386 and PPC separately, putting the results into separate app bundles, and then joining them together using lipo (plus some fun scripts) afterwards.

I'm open to any feed back I can get. I'll be trying a clean build now, since I haven't in quite a while.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Fri Jun 26, 2009 3:41 pm
by MeddlingMonk
I'd be the person responsible for the goofy OS X build of Pentagram.
Hey, at least you're making the effort. Too often OSX is something of an afterthought despite it being a major OS. Going by the precompiled binaries offered by a lot of projects, you'd think Ubuntu had the largest intstall base after Windows.
I'm guessing...it's still getting mixed up with from Fink packages
Hmm. I think I'll try commenting out the Fink entries in my bash profile and see what happens.
possibly the build scripts trying to install headers to the standard locations
Or not, if I make it ignore Fink and my attempt works.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Fri Jun 26, 2009 6:05 pm
by MeddlingMonk
OK, I commented out the Fink-related lines in my bash profile and was able to successfully build Pentagram. So looks like the Pentagram build was getting confused by Fink (and I had, as far as I know, the exact same experience a while back trying with MacPorts installed), but since I had done nothing apart from modifying the bash profile apparently the build isn't trying to install headers to the standard locations; I wasn't using sudo so I would expect errors if it was trying to do that.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Fri Jun 26, 2009 9:43 pm
by Watt
Right... you can confirm the build installed the pieces correctly by examining the build/i386 and build/ppc directories - they should have a bin, lib, include, and share directories filled with the files built from zlib, libpng, freetype, SDL, and SDL_ttf

As for the Fink linking bits, I could look into trying a bit hard to keep the linker and header lookup paths to the standard areas. Had learned quite a bit about that recently when trying to build some other software on Solaris 9 :-).

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Sat Jun 27, 2009 12:29 am
by MeddlingMonk
...they should have a bin, lib, include, and share directories...
That's exactly what I've got.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Sat Jun 27, 2009 1:41 pm
by Dominus
OK, I commented out the Fink-related lines in my bash profile
how does one do that?

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Sat Jun 27, 2009 1:59 pm
by MeddlingMonk
You would just open your .profle and stick # in front of each line you want ignored (like every line if all you've got is Fink related). Just restart terminal after saving like you did when you modified .profile in the first place and Robert's the male sibling of one of your parents. Anything done in terminal until you remove all the # will be blind to Fink.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Sun Jun 28, 2009 2:13 am
by Watt
You mean Uncle Bob? :-)

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Sun Jun 28, 2009 3:07 pm
by Dominus
soooo,
I've commented everything out in .profile and get again an error with building Pentagram. Still fails on buidling the deps with
gcc -O2 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -arch i386 -I/Users/dominus/Code/SVN/pentagram/trunk/build/i386/include -DUSE_MMAP -o minigzip minigzip.o -L. libz.1.2.3.dylib
cd /Users/dominus/Code/SVN/pentagram/trunk/build/zlib.build/ppc && make
gcc -O2 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -mmacosx-version-min=10.3 -arch ppc -I/Users/dominus/Code/SVN/pentagram/trunk/build/ppc/include -DNO_snprintf -DHAS_sprintf_void -DNO_ERRNO_H -c -o example.o example.c
example.c:8:19: error: no include path in which to search for stdio.h
example.c:12:22: error: no include path in which to search for string.h
example.c:13:22: error: no include path in which to search for stdlib.h
example.c: In function ‘test_compress’:
and much more errors in example.c...

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Sun Jun 28, 2009 5:58 pm
by fingolfin
Regarding the Pentagram build system: I think it's overly complicated. It could be simplified a lot (and the resulting binary be made smaller) by not using internal frameworks but rather simply static linking the various dependencies (as we do with ScummVM). I.e., don't build all those libs as shared, but rather built them as static only.

To ensure that the custom made libs you build are used instead of e.g. those by ScummVM, you must make sure that your compile command is not "tainted" by include specifiers that ask it to look inside /sw (or /opt for MacPorts). This could be achieved by explicitly (re)setting CXXFLAGS, CPPFLAGS, etc. to be empty right in the Makefile -- in "Makefile.macosx", that is. After all, other people (like me) should still be able to build pentagram as a good old normal binary without any universal binary & disk image stuff I don't need.


Regarding Core MIDI support and aspect ratio correction: Feel free to take my code from ScummVM for this; but I won't work on that myself, sorry, Exult and Pentagram have very low priorities for me these days, and I don't even have enough time to properly work on ScummVM, so...


As for Exult Studio: I never used it, never tried to build it, never found it interesting. So I cannot really say anything deep about it. The problems with GTK/Glade errors you describe could have a number of totally different causes. Hard to say from a distance, without knowing more details about your setup. I'll try to find a few spare minutes to try and reproduce the issue, but I cannot promise anything.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Sun Jun 28, 2009 7:07 pm
by fingolfin
OK, the exultstudio problem is simply enough: It doesn't find "exult_studio.glade". It looks for "data/exult_studio.glade", but the file really is in mapedit.

So, to start exult studio, I did this (from the Exult source directory):
./mapedit/exult_studio -x mapedit

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Sun Jun 28, 2009 9:24 pm
by Watt
@Fingolfin:
Yeah, I agree it's more complicated that it needs to be. I should've just used a shell script instead of trying everything in make. Got a little carried away at the time I guess. I think I remember trying to go static at first and hit some snag that made me shrug and go with shared, but I can't remember what now.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Sun Jun 28, 2009 10:32 pm
by MeddlingMonk
Fingolfin:
Regarding Core MIDI support and aspect ratio correction: Feel free to take my code from ScummVM for this
Pity I know nothing about coding or I would myself. As it is, I can only nudzh. And I think I remember Marzo or someone saying months ago there was some kind of big hurdle in doing aspect ratio correction. Somehow.

Dominus:
Still fails on buidling the deps
Um. OK. Did nothing like that to me. So you've got Xcode. You've got Fink which is unimportant if everything is commented out as you say. You've got Leopard. And you're using the build process laid out in the Pentagram readme, I assume. So why does it work for me and not you? Did you start fresh? If it was just a matter of ./configure && make I don't think it would matter, but with the system Pentagram has going maybe it does. So I wonder if you left the build directory from earlier attempts (in my case I trashed it because I just like having a clean slate) and whether it would even matter. I suppose Watt can tell us if that would mess things up or whether his system would refetch the library sources or try to continue from where it left off.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Sun Jun 28, 2009 11:31 pm
by Watt
Yeah, it might try to grab info from previous configure runs on each dep. You could try tossing the build directory and making a fresh attempt.

I haven't had a chance to go through and improve this yet... at some point...

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Mon Jun 29, 2009 8:02 am
by Dominus
@Pentagram: yeah, I tried a new checkout. But I'll try some more :)

@Fingolfin:
I was able to make Exult Studio run as well, the problem with Exult Studio is that it won't start by going into mapedit mode in Exult and regardless of that, won't connect to Exult so essentially Exult Studio sits there, useless (except for browsing shapes).

As for CoreMIDI, I'm in the same boat as Meddling Monk, can't code and thus wouldn't know where to start, but of course I understand your lack of time. Not complaining, just hoping :)

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jul 01, 2009 11:44 pm
by MeddlingMonk
Any luck yet with Pentagram, Dominus? (I have no fresh ideas if you haven't, though.)

-------------------------

BTW, and OT, have you messed around yet with Boxer, the Mac DOSBox frontend? If you haven't, it's very nice and convenient to have DOS software appearing in Finder as if they were Mac app bundles.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Thu Jul 02, 2009 12:15 pm
by Dominus
Haven't tried again, had no time. Thanks for checking, though

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Fri Jul 03, 2009 5:31 pm
by monotremata
Well Im the guy that was going back and forth with Meddling Monk (and someone else) trying to get a new app made for OS X..
I was actually using Fink as well, never used MacPorts before but it had to do with where SDL was installed.

I just popped up a month or two ago and made a post on our old topic about it..
Someone gave us some tips on how to possibly change the linking of the SDL libraries but I dont know enough about compiling on where to add those CFLAGS lines he mentioned.

I posted and asked 'can someone tell me where/how I use this?' but topic went dead again hehe.

Search for 'snapshot OS X' and youll find it in there.

I had gotten Exult to build in XCode easily, but we still ran into the same problems, the SDL linking..
I grabbed Pentagram as a suggestion but Pentragram is setup so differently the way it builds compared to Exult it just went over my head..
Ive never been able to make Exult build against the frameworks in Mac OS X so basically the XCode build was just a bunch of scripts running the command line compile anyways..

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Fri Jul 03, 2009 5:33 pm
by monotremata
Actually heres the thread.. Guess theres not alot of activity still so its only on page 2 hehe.

http://exult.info/forum/viewtopic.php?p=273361#p273361

Im still building on my old G4 though. ;)

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Sat Jul 04, 2009 1:50 pm
by MeddlingMonk
It all went over my head much quicker. The lesson I took away from Pentagram (and other projects) was that if you want an app bundle that can be used on any Mac, it all has to start in the source code. I'm not a coder, so that was it for me.

Pentagram's way is a little...different. I believe that ScummVM has moved (or maybe is still in the process of moving) to compiling portable app bundles. The linking of zlib caused problems for me as a Fink user because it doesn't have zlib and OSX's dynamic library zlib isn't suitable for that purpose. I ended up manually installing zlib to my Fink directory although I was told they were thinking of handling linking in a different way (so that it would detect the evironment on a computer and adjust rather than insist on a specific setup) so that someone with Fink wouldn't have go extra steps to get a bundle. I suppose that what ScummVM is doing is or is similar to what Monotremata is alluding to, but it all comes down to the source code and three Mac users don't really add up to one Mac coder. So I guess until one turns up, Exult on Macs will have to be a case of rolling your own.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Sun Jul 12, 2009 7:11 pm
by Dominus
just made a fresh try for Pentagram, with a new checkout and it still fails miserably, exactly where it failed last time :(

Interestingly, after that failed, I decided to try if the linux way with ./configure would work and I must have fixed some stuff with fink, since ./configure went through all the way and then I just used make (without pointing to the osx makefile) and it went all the way through to the audio compilation and there failed with
g++ -Wp,-MMD,"audio/midi/.deps/CoreAudioMidiDriver.d",-MQ,"audio/midi/CoreAudioMidiDriver.o",-MP -Wall -I/sw/include -DHAVE_CONFIG_H -DDATA_PATH=\"/usr/local/share/pentagram\" -I./misc -I./tools/data2c -I./convert -I./convert/u8 -I./convert/crusader -I./misc -I./data -I./filesys -I./filesys/zip -I./tools -I./tools/disasm -I./tools/compile -I./tools/flexpack -I./tools/fold -I./tools/shapeconv -I./kernel -I./games -I./graphics -I./graphics/fonts -I./graphics/scalers -I./audio -I./audio/midi -I./audio/midi/timidity -I./usecode -I./world -I./world/actors -I./gumps -I./gumps/widgets -I./conf -I./system -I./system/macosx -I./. -I. -g -I/sw/include -I/sw/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -c -o audio/midi/CoreAudioMidiDriver.o audio/midi/CoreAudioMidiDriver.cpp
audio/midi/CoreAudioMidiDriver.cpp: In member function ‘virtual int CoreAudioMidiDriver::open()’:
audio/midi/CoreAudioMidiDriver.cpp:79: error: ‘kAudioUnitComponentType’ was not declared in this scope
audio/midi/CoreAudioMidiDriver.cpp:80: error: ‘kAudioUnitSubType_MusicDevice’ was not declared in this scope
audio/midi/CoreAudioMidiDriver.cpp:81: error: ‘kAudioUnitID_DLSSynth’ was not declared in this scope
audio/midi/CoreAudioMidiDriver.cpp:88: error: ‘kAudioUnitSubType_Output’ was not declared in this scope
make: *** [audio/midi/CoreAudioMidiDriver.o] Error 1
oh well....

Edit: actually searching our fine forum, I came upon a patch for Exult that fixes that issue for Pentagram.
https://sourceforge.net/tracker/?func=d ... tid=302335. I just didn't need to touch CoreAudioMidiDriver.h but the changs in the cpp file did the trick! It compiled and it ran! It's not a bundle and definitely not an image, but it works somewhat :)

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Sun Jul 12, 2009 8:18 pm
by Dominus
as for the Exult/Exult Studio problem...
When I checked the ./configure output this striked me as strange
checking whether to enable support for Exult Studio... no
Even though ./configure --help showed this as default yes.
And then even when I tried to enabel it via ./configure it still showed up as no... That doesn't make me wonder anymore why Exult and Exult Studio don't like to play with each other :(

Edit: Hmm, it gets set to no if WINDOWING_SYSTEM="-DXWIN" is false/no, according to configure. What is this DXWIN?

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Tue Jul 14, 2009 2:45 pm
by monotremata
Direct X?

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Tue Jul 14, 2009 4:05 pm
by marzo
XWIN is the X Window System.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jul 15, 2009 6:09 am
by Dominus
hmm, since OS X does have X11 I'm at loss why this does not work. I wish someone with time and OS X coding skills could take a look...

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jul 15, 2009 12:23 pm
by marzo
hmm, since OS X does have X11 I'm at loss why this does not work.
The issue is that configure.ac (hence configure) is assuming that OS X uses Cocoa instead of X, and isn't even trying to check for X. I am also not proficient enough in configure syntax and limitations to fix the issue (not to mention that I have never used OS X).

I also don't know if ES and Exult would communicate correctly in OS X even if we force the issue, but we can test it, if you want; try deleting lines 442 to 444 in configure.ac, re-run autogen, configure and compile. Then test away.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jul 15, 2009 2:48 pm
by Dominus
Hmm,
then it fails at making exult.o with
if g++ -DHAVE_CONFIG_H -I. -I. -I. -I. -I./headers -I./imagewin -I./shapes -I./server -I./data -I./gamemgr -I./objs -I./conf -I./files -I./gumps -I./audio -I./audio/midi_drivers -I./pathfinder -I./usecode -I/sw/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -DMACOSX -O2 -Wno-long-long -I/sw/include -DEXULT_DATADIR=\"data\" -I/sw/include -I/sw/include -MT exult.o -MD -MP -MF ".deps/exult.Tpo" -c -o exult.o exult.cc; \
then mv -f ".deps/exult.Tpo" ".deps/exult.Po"; else rm -f ".deps/exult.Tpo"; exit 1; fi
exult.cc: In function ‘void Init()’:
exult.cc:895: error: ‘xfd’ was not declared in this scope
exult.cc:897: error: ‘xdnd’ was not declared in this scope
exult.cc:897: error: expected type-specifier before ‘Xdnd’
exult.cc:897: error: expected `;' before ‘Xdnd’
exult.cc: In function ‘void Handle_event(SDL_Event&)’:
exult.cc:1551: error: ‘xdnd’ was not declared in this scope
exult.cc:1553: error: ‘xdnd’ was not declared in this scope

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jul 15, 2009 3:01 pm
by marzo
Yes, I was afraid something like this might turn up. That would be the compiler complaining that the X drag & drop header was not included.

At this point, someone with OS X experience would help a lot better than me, as I don't know if using the X headers would work; you can still try, though: in configure.ac, edit line 121 to read like

Code: Select all

WINDOWING_SYSTEM="-DMACOSX -DXWIN"
and line 124 to be

Code: Select all

SYSLIBS="-framework AudioUnit -framework CoreMIDI -lX11"
And try it all again.

WARNING: I have no idea if it will work, or what possible side effects that may cause.

Re: Anyone offering precompiled binaries of latest (or recen

Posted: Wed Jul 15, 2009 3:20 pm
by Dominus
not working...

g++ -I/sw/include -o rwregress rwregress.o -framework AudioUnit -framework CoreMIDI -Wl,-bind_at_load -L/sw/lib ./.libs/libu7file.a -lX11 /sw/lib/libfluidsynth.dylib -lreadline -lncurses /sw/lib/libjack.dylib -lm -lpthread
ld: library not found for -lX11
collect2: ld returned 1 exit status
make[3]: *** [rwregress] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2