[Tux4kids-tuxtype-dev] Status of next releases for tuxmath and tuxtype

David Bruce davidstuartbruce at gmail.com
Fri Mar 5 23:31:43 UTC 2010


Hi everyone,

I've been promising that I would post new releases soon, so I thought
I should let anyone who is interested about the current holdup.
Mainly, I don't yet have suitable Windows builds, and historically
I've always done simultaneous releases of a tarball (for the Linux and
ultimately OSX folks) and a Windows binary so that the code would be
identical for the same version number.

If no one objects, I'll just make source-only releases of TuxMath
1.8.0 and TuxType 1.8.1 this weekend.

The snag on the Windows side is that TuxMath has added several library
dependencies, and also now uses libtool, and I wasn't able to get my
previous cross-build setup to work.  TuxType still builds with the old
crossbuild setup, except that my box that contained it died and I
don't have it recreated as of yet.

On the positive side, I looked into the mingw-cross-env project
(http://mingw-cross-env.nongnu.org) and have been extremely pleased
with it as a better way to make Windows builds.  The project leader is
extremely helpful, and even added SDL_Pango and librsvg to
mingw-cross-env just to get our project to build, as well as
contributing needed code to our configure.ac.  Basically, it is now
trivially simple to set up a linux-based cross-build environment. You
may need to install a couple of packages with your distro's package
manager, then get mingw-cross-env from their site, put it in a
convenient place, and type "make".  After a couple of hours of
downloading and building, the mingw-cross-env directory contains a
cross-compiler and all the libs needed to cross-compile tuxmath and
tuxtype for windows.

I added a "buildw32" directory to tuxmath and tuxtype in Git, which
contains some simple scripts to automate the crossbuild.  The scripts
assume that the cross-environment is located at
/usr/local/mingw-cross-env.  For tuxmath, you just cd to buildw32 and
type "./tmwin.sh".  For tuxtype it is the same except the script is
called ttwin.sh.  The mingw-cross-env project uses static linking, so
you wind up with a single large binary and no dll's.

The exciting part is that tuxtype builds correctly and has SDL_Pango
working, something we have never had in Windows.  The glitch is that
there is a problem with SDL_mixer that causes the program to exit
during initialization unless it is started with "tuxtype --nosound".
We could turn sound off in the source code and issue a silent TuxType
windows build right now, but that is far from optimal.  I have not
made much progress with this on the SDL mailing list.  The bug
apparently only affects the most recent two versions of SDL_mixer, so
I perhaps could downgrade SDL_mixer to 1.2.8 in the crossbuild
environment as a workaround.

For tuxmath, the situation is fairly similar but with two additional
issues - the configure step does not detect SDL_net, and the linking
phase fails with some errors related to libtool.  We don't really need
libtool until we start using libt4kcommon, so the latter problem could
be sidestepped if I can't figure out how to solve it.

So, I'd encourage anyone who is interested to set up mingw-cross-env
and test these crossbuilds.

Also, Matt, if you still have a functioning "old" crossbuild setup,
I'd be happy to post a tuxtype release built that way.  If you want to
do that, you will have to uncomment the lines in nsis/tuxtype.nsi.in
and Makefile.am that control inclusion of the dll files, which I
commented out because the new setup doesn't need them.

Cheers,

David



More information about the Tux4kids-tuxtype-dev mailing list