Mikko Nummelin wrote in message . fi...
... (About compiling Crafty with Dev-C++)
Thank you very much for your effort in this area, but I must say, that
there seems to be a generally unfortunate "trend" that the stronger an
open-source chess program is, the more difficult it is to compile.
Yesterday I made an experiment, starting with Ridderkerk's unofficial
and started tracing which programs are open-source from the top on. I
found that at least the following we
Crafty, Pepito, SlowChess, Amy, Resp
I downloaded their source into my hard disk and made compile attempts with
my Slackware Linux running on an AMD Athlon 1900+. It appeared that they
_all_ except Crafty had some problems on that platform and are not bound
to compile without additional tweaking! But Crafty is nevertheless known
to have compile problems in other platforms as these discussions show.
Many low- and mid-strength open-source chess programs are, unlike the
above mentioned higher strength ones, usually easy/much easier to compile.
From what little I have looked at the crafty source, it is clear a lot
of work has gone into optimisation - specific assembler rountines for
different architectures, different methods to make best use of cache
etc. In one method of compilation everything gets compiled into one
huge file, to aid optimisation. That partially explains it I feel.
It's much easier to write standard C that will compile on any platform
okay, but adding platform specific optimisations creates problems.
I have an open-source application:
for which various versions of it have been tested on machines as
diverse as a Sony Playstation 2 games console, Windows 2000 and a Cray
supercomputer running UNIXCOS. I develop it on a Sun workstation, and
test on about half a dozen machines (Sun running Solaris, HP running
HP-UX, Dec Alpha tru64, IBM RS/6000 running AIX and an SGI octane
running IRIX) before releasing a new version.
However, I have no platform specific optimisations. I suspect that is
where the strength of the programs is gained, but the portability