Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Problem compiling TBGEN from crafty ftp

Author: Dieter Buerssner

Date: 06:59:02 01/28/01

Go up one level in this thread


On January 28, 2001 at 09:03:15, Frank Phillips wrote:

>On January 26, 2001 at 16:31:38, Lenard Spencer wrote:
>
>>Maybe someone can help me.  I have been trying to compile TBGEN on my Linux
>>system (P1MMX/200 running Mandrake 7.0).  I use the command line given in the
>>readme.txt but get a couple warnings and then it exits out without producing any
>>executable.  Anything special I need to know here?  (No problems on my Win32
>>box.)

>Pretty vague recollection of the details, but I remember having to re cast a
>variable (to the same type) due to it being previously defined as const but then
>assigned another value.  After this, tbgen compiled under Mandrake 7.1.

This rang a bell. I had to do the same. Here is the diff to the original
source.

E:\egtb>diff -u tbgen.cpp tbgen.bak
--- tbgen.cpp   Sun Jun 18 00:45:38 2000
+++ tbgen.bak   Sun Dec 13 15:43:04 1998
@@ -2445,7 +2445,7 @@
        // Create files
        for (sd = x_colorWhite; sd <= x_colorBlack; sd = (color) (sd + 1))
                {
-               char    *pchExt = (char *)PchExt (sd); // buers
+               char    *pchExt = PchExt (sd);

                VTab (iLevel);
                printf ("  %s %s: Creating file\n", pchTable, PchTm (sd));

Which means, that you have to add (char *) in line 2445. The reason is,
that in C++, it is illegal to assign (const char *) to (char *) without
cast. In general, it is of course also risky, but I think I checked this
case, and there is no problem here, because nothing is written to pchExt.
The better fix might be to change "char *pchExt" to "const char *pchExt",
but I did not try it.

Regards,
Dieter




This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.