Dear Martin,
Bill Kendrick suggested that you might be able to provide a bit of advice on
producing a Mac build of tuxmath, one of the other tux4kids projects. I'm
working on this because my daughters' school expressed interest in the
program, and their computers are all Macs. I thought "how hard could it be?"
and borrowed a Mac. Now I've discovered that "easy to use" = "whatever you're
already familiar with" (which for me is Linux + KDE). If Macs didn't have a
console, I'd be doomed. :-)
I've played with 2 ways of getting this build to work: the traditional Unix
way (configure && make, etc) and using the Xcode IDE. While the Unix way
_almost_ works, I've run into problems with both:
1. The Unix build works (I can get the application to run fine on the machine
that it's compiled on), but my attempts to create a portable disk image
(.dmg) have not yet worked---I can create the disk image, but it doesn't run
when I try it on another computer. I _think_ I've now traced the core problem
down to "Resources." tuxmath (like tuxpaint) loads a lot of files using a
DATA_PREFIX macro, which by default gets set to /usr/local/share in the
configure script. Do you know how one can get it to point to the Resources
directory?
In preparation to create a universal binary, I have also switched to using the
SDL "Framework" rather than the unix build of SDL. This has caused a problem
in the configure script not being able to detect SDL. Since the sdl-config
binary doesn't seem to be in the SDL.framework, I wonder if this will prove
to be a fundamental problem?
2. Using Xcode, I set a bunch of flags (like the Library path, even though I
imported the SDL Frameworks into the project, and DATA_PREFIX='"data"', which
probably won't work but it's a hack to get it to compile). Eventually I got
it to compile. Unfortunately, it just says "Bus error" when I run it from the
shell (and nothing even as useful when I run it within Xcode).
While I've spent some time looking at your Xcode project, I can't see how you
got this working: your Xcode project doesn't seem to set any of these flags,
yet it (almost) compiles on my machine. (It can't find a file "trans/af.mo".)
Can you offer me any advice? I'm not sure which of these approaches is most
likely to be profitable.
--Tim
|