From: mann@src.dec.com (Tim Mann) Newsgroups: gnu.chess,rec.games.chess.computer,rec.games.chess,rec.answers,news.answers Subject: FAQ -- GNU Chess and XBoard Frequently Asked Questions Followup-To: gnu.chess Date: 9 Aug 1995 04:23:28 GMT Organization: Digital Systems Research Center Reply-To: bug-gnu-chess@prep.ai.mit.edu NNTP-Posting-Host: cypress.pa.dec.com Summary: This posting contains a list of frequently asked questions (with answers) about the chess-playing program GNU Chess, the X chess interface XBoard, and related topics often discussed on the gnu.chess newsgroup. Archive-name: games/chess/gnu-faq Version: $Id: FAQ,v 1.28 1995/08/07 22:03:20 mann Exp $ Posting-frequency: monthly [1] What are the gnu.chess newsgroup and info-gnu-chess mailing list for? How do I subscribe or unsubscribe? [2] What is GNU Chess? [3] What is GNU Chess's rating? [4] What is XBoard? [5] Can I use XBoard to play a game of chess with another human? [6] What is XChess? [7] What is WinBoard? Will WinBoard run on Windows 3.1? [8] What is cmail? [9] What is Winsock Chess? [10] Where can I get chess software? [11] What are the current version numbers for GNU Chess and XBoard? [12] Who is working on this project? How do I report bugs, offer help, etc.? [13] Does GNU Chess run on a PC under DOS (or Windows)? [14] Does GNU Chess run on an Amiga? What is AmyBoard? [15] Does GNU Chess run on a Macintosh? [16] How do I build GNU Chess? Do I have to have gcc? [17] How do I build XBoard? Do I have to have gcc? [18] When I try to use GNU Chess with XBoard, it says "Error: first chess program (gnuchessx) exited unexpectedly". [19] Sometimes GNU Chess plays an extra, bogus move after the game is over. [20] XBoard sometimes hangs when I'm using it to play against GNU Chess on a position that I've modified with Edit Position. [21] GNU Chess often uses a little too much time and lets its flag fall near the end of a time control period. [22] When I use GNU Chess with XBoard, it seems to freeze on me after it gets out of its opening book. [23] When I use GNU Chess with XBoard, it sometimes tells me that moves are illegal when they aren't. [24] GNU Chess crashes when I try to compile and run it on the DEC Alpha. [25] I get an error message about FIONREAD when trying to run (or build parts of) gnuchess. [26] I can't build XBoard because xmkmf and imake are not present on my system. [27] I can't build XBoard because the "#include " files are not found. (Often a problem for HP-UX users.) [28] When trying to build XBoard, I get error messages about undefined symbols. [29] How do I use XBoard as an external viewer for PGN files with NCSA Mosaic or Netscape? [30] Does GNU Chess run on VMS? [31] Does XBoard run on VMS? [32] When I try to build GNU Chess, I get a message that "setlinebuf" is undefined. ----- [1] What are the gnu.chess newsgroup and info-gnu-chess mailing list for? How do I subscribe or unsubscribe? The gnu.chess newsgroup is for the discussion of GNU Chess, XBoard, and other related software. The gnu.chess newsgroup is gatewayed bidirectionally with the mailing list info-gnu-chess@prep.ai.mit.edu. If you want to be added to or deleted from this list, mail to info-gnu-chess-request@prep.ai.mit.edu, not to the list (or newsgroup) itself. gnu.chess is not for general chess or computer chess discussion. You won't be flamed if you post such messages here, but you will find more information if you use rec.games.chess. There is a rec.games.chess FAQ file with a great deal of general chess information; see topic [10] below. PLEASE DO NOT try to start or play chess games by posting messages to gnu.chess. Instead, read the rec.games.chess FAQ to learn about the IECG, the IECC, and other groups that you can join to find opponents, and send one or more of them email to join. ----- [2] What is GNU Chess? GNU Chess is a chess-playing program developed as part of the GNU project of the Free Software Foundation (FSF). GNU Chess is a communal chess program. Contributors donate their time and effort in order to make it a stronger, better, sleeker program. Contributions take many forms: interfaces to high-resolution displays, opening book treatises, speedups of the underlying algorithms, additions of extra heuristics. These contributions are then distributed to the large user-base so that all may enjoy the fruits of our labor. GNU Chess is intended to run under Unix or Unix-compatible systems. It is written in C and should be portable to other systems. Try WebChess, a World Wide Web interface to GNU Chess provided by DJ Delorie. The URL is http://www.delorie.com/game-room/chess/. ----- [3] What is GNU Chess's rating? It would be irresponsible to answer this question with a number, without first explaining a few things about ratings. The ratings that are commonly given for computer chess players are less meaningful than they may seem. Most computer chess players (including GNU Chess) do not play in tournaments against humans, or do so only rarely, so they do not have official ratings from FIDE, USCF, or other chess organizations. Some people have methods for rating chess programs approximately by giving them a set of problems to work on and seeing how they do, or by having them play tournaments against each other. Any rating number produced by a formula like this should be taken with a grain of salt; it may be only a rough approximation to the rating the program would achieve in over-the-board tournament competition against humans. The chess skills required for solving problems or playing against other computers are not necessarily the same as those required for play against humans. Also, of course, tournaments among computers can rate the computers only relative to one another, not relative to humans. Some of the computers need to be rated by other means to give the ratings a basis to start from. Compared with human players, computer players are strong tactically but weak strategically, and are much better at blitz chess than at slow chess. These differences make it more difficult to assign a meaningful rating too. Several computers do play regularly on the Internet chess servers and have achieved ratings there. These ratings have the advantage of being based on many games. On the other hand, ICS ratings are only roughly comparable to USCF or FIDE ratings. Many players have ICS ratings that are hundreds of points higher or lower than their USCF or FIDE ratings. Finally, unlike dedicated chess machines, or PC chess programs that run on only a few different models of Intel processors, GNU Chess runs on many different kinds of CPU at many different speeds. Thus its strength depends on how fast a machine you run it on and how much optimization your C compiler does. Some people have formulas for estimating how a computer player's rating varies on faster or slower machines---see the rec.games.chess FAQ for more information---but these need to be taken with a grain of salt too. All that said, here are some numbers. - On the Internet Chess Club, a copy of GNU Chess running on an SGI Onyx R4400 under the handle MaxII has achieved a blitz rating of over 2500 and a standard rating of over 2300. - Wolfgang Gabriel ran the Bednorz-Toennissen Test BT2630 with GNU Chess 4.0 pl74 on a 60 MHz Pentium with 16 MB of RAM. The test gave an estimated rating of 2213. He also ran Fritz-2 on the same hardware and got an estimated rating of 2311. ----- [4] What is XBoard? XBoard is a graphical chessboard that can serve as a user interface for GNU Chess, for the Internet Chess Servers, or for email correspondence chess, or can be used by itself. As an interface to GNU Chess, XBoard lets you play a game against the machine, set up arbitrary positions, force variations, or watch a game between two machines. As an interface to the Internet Chess Servers, XBoard lets you play against other ICS users, observe games they are playing, or review games that have recently finished. You don't need GNU Chess for this. To play email correspondence chess with XBoard, you use it with the cmail program. See topic [8] below. You can also use XBoard as a chessboard to play through games. It will read and write game files and allow you to play through variations manually. You can use it to browse games off the net, or to review GNU Chess, ICS, and email correspondence games you have saved. It saves games in PGN (portable game notation), and can read almost any game in algebraic notation. These features are available at all times, even if you do not have access to GNU Chess or an ICS. XBoard runs under Unix or Unix-compatible systems. It requires the X Window System, version X11R4 or later. There are also ports of XBoard to Microsoft Win32 (that is, Windows NT or Windows 95) and to the Amiga. See topics [7] and [14] respectively. ----- [5] Can I use XBoard to play a game of chess with another human? The only way for two humans on different machines to play chess in real time using XBoard is to use an Internet Chess Server as an intermediary. That is, each player runs his own copy of XBoard, both of them log into an ICS, and they play a game there. Two copies of XBoard cannot communicate with each other directly. Instructions on how to get started with Internet chess are included with the XBoard distribution. The network addresses included in the XBoard distribution may not always be current. The oldest ICS is the Internet Chess Club at chess.lm.com, which now has a fee for registered use, but still allows free unregistered use. There are also many newer sites with no fees, using the Free Internet Chess Server implementation (FICS). Current FICS sites include ics.onenet.net (the most active), krypton.daimi.aau.dk, dds.hacktic.nl, holly.csv.warwick.ac.uk, and chess.pitt.edu. On all these machines, the port number to use is 5000. Try "finger chess@ics.onenet.net" for more address information. Note: If you don't have network connectivity to any ICS site, you can run your own server using the FICS code. You can get a copy by anonymous ftp from the Internet Chess Library (topic [10]). The code is changing rapidly, so send mail to chess@ics.onenet.net and/or log into the FICS server at ics.onenet.net and ask the administrators there for current information. The cmail program included with XBoard lets you play email postal games with another human; see topic [8]. Two humans can play chess on the same machine using one copy of XBoard in Edit Game mode, but the clocks don't run in this mode, so it's of limited usefulness. See also topic [9]. ----- [6] What is XChess? XChess is an older chessboard program that is no longer supported. XChess was written for X version 10, and you may or may not be able to build and run it on an X11 system. XChess has only one significant feature that is not present in XBoard: Two humans can play chess using XChess on different machines, without using the Internet Chess Server as an intermediary. This feature is of interest only if you don't have network connectivity to the Internet Chess Server. Note: There actually have been several different programs called "XChess" in circulation at various times. The above describes one that was associated with GNU Chess. ----- [7] What is WinBoard? Will WinBoard run on Windows 3.1? WinBoard is a port of XBoard to Microsoft Windows NT and Microsoft Windows 95 using the Win32 API. It uses the same back end chess code as XBoard, but the front end graphics code is a complete rewrite. WinBoard does *not* run on Windows 3.1 or other MS-DOS based versions of Windows. Although you can use the program as a PGN viewer/editor under the Win32s compatibility package, the major features (interfacing to GNU Chess and to ICS) do not work. The main problem is that MS-DOS does not have threads or real concurrent processes. A port of WinBoard to Windows 3.1 is possible in theory, but it would be difficult and messy, and no one is likely to do it. WinBoard (version 3.2 or later) generally runs well on the Windows 95 betas it has been tested with. There do seem to be problems using WinBoard with 3rd-party TCP/IP implementations on the Windows 95 betas, but it works with Microsoft TCP/IP. All versions of WinBoard run on Windows NT. The WinBoard distribution now includes a port of GNU Chess itself to Win32. The GNU Chess port is distributed in executable form, with instructions for rebuilding it from the standard GNU Chess sources (available separately). You should have at least 16 to 24 MB of memory to run GNU Chess with WinBoard. cmail (topic [8]) has not been ported to Win32. ----- [8] What is cmail? cmail is a program that helps you play and keep track of electronic mail correspondence chess games using XBoard. It is distributed with XBoard and has its own manual page. ----- [9] What is Winsock Chess? Winsock Chess is a program that lets two people play chess across a network. It runs only under Microsoft Windows. Some of the code in Winsock Chess is derived from GNU Chess, but it is not maintained by the GNU Chess team. You can get a copy from the Internet Chess Library; see topic [10]. For more information, contact its author, Donald Munro . ----- [10] Where can I get chess software? Like other GNU software, you can get GNU Chess and XBoard by anonymous FTP from prep.ai.mit.edu and its many mirror sites. Look in the directory pub/gnu for files matching the patterns gnuchess-*.gz and xboard-*.gz. The .gz suffix indicates the files were compressed with GNU gzip. You can get gzip from prep.ai.mit.edu also. For other chess software, try the Internet Chess Library. Use anonymous FTP to connect to ics.onenet.net, or if you have a World Wide Web browser, open URL http://caissa.onenet.net/chess/. You can get chess software, game collections, the FAQ file for rec.games.chess, and other chess-related material there, in the directory pub/chess. Sometimes new XBoard versions arrive on this site before they make it to prep. The FTP server can automatically decompress files for you as you download them, useful if you don't have gzip. You can get WinBoard from the Internet Chess Library, in directory pub/chess/Win3. Here is a sample anonymous ftp session. Some of the ftp server's responses are abbreviated, but all the commands you must type are included. % ftp prep.ai.mit.edu Connected to prep.ai.mit.edu Name: anonymous Password: your-email-address@your-site ftp> binary 200 Type set to I. ftp> cd /pub/gnu 250 CWD command successful. ftp> dir gnuchess-*.gz -rw-r--r-- 1 14910 wheel 1448657 Feb 21 22:17 gnuchess-4.0.pl74.tar.gz ftp> get gnuchess-4.0.pl74.tar.gz 150 Opening BINARY mode data connection for gnuchess-4.0.pl74.tar.gz (1448657 bytes). 226 Transfer complete. ftp> dir xboard-*.gz -rw-r--r-- 1 14910 wheel 312553 Aug 07 20:53 xboard-3.3.pl0.tar.gz ftp> get xboard-3.3.pl0.tar.gz 150 Opening BINARY mode data connection for xboard-3.3.pl0.tar.gz (312553 bytes). 226 Transfer complete. ftp> quit ----- [11] What are the current version numbers for GNU Chess and XBoard? At this writing, the current version numbers are: - GNU Chess 4.0 patchlevel 74 (updated Feb 21, 1995; 1448657 bytes), plus further patches (gnuchess-4.0.pl74.patches.tar.gz). There is also a patchlevel 75, but it is a beta version that was released prematurely and has some known problems. Patchlevel 76 is in preparation. - XBoard 3.3 patchlevel 0 - WinBoard 3.3 patchlevel 0 - AmyBoard 3.3 patchlevel 0 ----- [12] Who is working on this project? How do I report bugs, offer help, etc.? Stuart Cracraft is the project coordinator. Chua Kong Sian is the primary developer on GNU Chess. He specializes in algorithms and search. Tim Mann maintains the FAQ and has been the main developer on XBoard, but he is winding down his involvement and would like to find a replacement. Many others are involved too. You can contact all the members of the project by sending mail to bug-gnu-chess@prep.ai.mit.edu. Comments that are of interest to all users of the software can be sent to info-gnu-chess@prep.ai.mit.edu, or posted to the gnu.chess newsgroup. (The mailing list and newsgroup forward to each other.) Any time you want to report a possible bug in GNU Chess or XBoard, we need to know exactly what you did, and exactly what error (or other) messages you got. Run the Unix "script" program, do whatever is necessary to reproduce the problem, type "exit" to the shell, and mail us the resulting typescript file. If you're using XBoard, run it with the -debug flag. We also need to know what hardware/operating system combination you are using. The command "uname -a" will often tell you this. ----- [13] Does GNU Chess run on a PC under DOS (or Windows, or OS/2)? Note: If you have Windows NT or Windows 95, see topic [7]. Several different ports of GNU Chess to the PC are available in the Internet Chess Library (topic [10]), scattered among the directories /pub/chess/DOS, /pub/chess/DOS/OLD-STUFF, and /pub/chess/Win3. Here is some information on them, but check the library itself for more up-to-date information. Porting GNU software to PCs is not a major focus of the GNU project, and these ports are not supported by the FSF. Contact the people who did the ports if you have questions or problems. MSDOS: gnu40-62.exe 1323260 Probably GNU Chess 4.0.pl62 for MSDOS gnu40dos.exe T 317072 GNU Chess 4.0pl60 by Free Software Foundation - compiled for DOS, executables only gnu40src.exe 307786 GNU Chess 4.0pl60 by Free Software Foundation - sources only gnuchs31.exe T 270559 GNU Chess 3.1 by Free Software Foundation - compiled for DOS, sources and executables gnuchs40.exe T 355494 GNU Chess 4.0pl60 by Free Software Foundation - compiled for 80386er, executables only Windows: chess321.exe W M 238185 GNU Chess 3.21 ported by Daryl K. Baker OS/2: gpl65os2.zip 677824 gnuchess-4.0.pl65 compiled for os2. gc-os2-m.zip 578032 gnuchess 4.0 for os2 with mouse support. gnu40os2.zip 1303602 Executables for running gnuchess 4.0 pl62 under - OS/2. pmchs.exe W M 92004 OS/2 PM Chess 1.01 (GNU Chess 3.1 Windows by - Daryl K. Baker) ported to OS/2 by Kent Cedola pmchssrc.exe 110279 OS/2 PM Chess 1.01 (GNU Chess 3.1 Windows by - Daryl K. Baker) sources only ----- [14] Does GNU Chess run on an Amiga? What is AmyBoard? There are at least three ports of GNU Chess to the Amiga: UChess, AmigaGnuChess, and the AmyBoard port discussed below. As with the PC ports, they are not supported by the FSF; contact the people who did the ports if you have problems or questions. UChess and AmigaGnuChess are available in the Internet Chess Library (topic [10]), in the directory /pub/chess/Amiga. -r--r--r-- 1 chess chess 204025 Mar 31 1993 AmigaGnuChess.lha -r--r--r-- 1 chess chess 10122 Mar 31 1993 AmigaGnuChess.readme -r--r--r-- 1 chess chess 705327 May 7 10:28 UChess283.lha -r--r--r-- 1 chess chess 21478 May 7 10:26 UChess283.readme -r--r--r-- 1 chess chess 199387 May 7 10:27 UChess283Patch.lha -r--r--r-- 1 chess chess 21589 May 7 10:26 UChess283Patch.readme AmyBoard is a port of XBoard to the Amiga by Jochen Wiedmann. The distribution includes a port of GNU Chess. Requirements: - An Amiga (obviously :-), running OS 2.04 or later, 2Mb RAM or more. - MUI 2.0 or later. - Workbench or another screen with no less than 640x400 pixels (adjustable with the MUI-Prefs); this restriction is just because we don't have bitmaps with less than 40x40 pixels per square. If someone gives Jochen bitmaps with 20x20 or 20x25, they will work with any Hires mode. If you would like to use an ICS, you need an Internet connection via either - a telnet-like program, or - a terminal program reading from stdin and writing to stdout. AmyBoard is available in the Internet Chess Library (topic [10]). ----- [15] Does GNU Chess run on a Macintosh? There is a port of GNU Chess 4.0 to the Macintosh. It's available from the Internet Chess Library (topic [10]) under /pub/chess/Macintosh or /pub/chess/uploads/Macintosh, in the following files: GnuChessMac40b5.hqx - executable binary GCMsource40b5.hqx - source As with the PC ports, the Macintosh port is not supported by the Free Software Foundation. If you have questions or problems, contact Dan Oetting . If you have the old Mac port of GNU Chess 3.0, be sure to get 4.0 instead. GNU Chess has come a long way since version 3.0! ----- [16] How do I build GNU Chess? Do I need gcc? The first step to building GNU Chess is to get the distribution file and unpack it. See topic [10] for places you can ftp the distribution from. To unpack the gnuchess distribution, gnuchess-*.tar.gz, put it into a new, empty directory, cd there, and give this Unix command: gzip -cd gnuchess-*.tar.gz | tar -xvf - If this command fails because you don't have gzip, see topic [10], and ask a local Unix expert if you need more help. The above command will unpack all the files into a new directory. Next, cd into this new directory. *** Patchlevel 74 and earlier *** You will find some instructions in a file named INSTALL. You will also need to read and edit the Makefile in the src subdirectory before you build; it may contain information missing from the INSTALL file. You must run all three of the following commands to fully build GNU Chess: make make gnuchess.data make install The first make command compiles the GNU Chess programs. (You can edit the "all:" line in the Makefile if you don't want to build all the programs. gnuchessr must always be built. gnuchessx is required if you will be using XBoard. The others are optional.) The "make gnuchess.data" command builds the book. The "make install" command copies the results to the BINDIR and LIBDIR you specified so that the different pieces can find each other. *** End patchlevel 74 and earlier *** *** Patchlevel 75 and later *** Decide what directory tree you are going to install GNU Chess in. The default is /usr/local. If you have write access to this directory tree, make sure that it contains subdirectories bin, lib, and man. (If you must "su" to get write access to /usr/local, you don't need to do so until just before the "make install" below.) Type the following: configure make make install If you are going to install GNU Chess under your home directory for personal use, do this instead: mkdir $HOME/bin $HOME/lib $HOME/man configure --prefix=$HOME make make install If you have problems or special requirements, see the files README, INSTALL, Makefile.in, and configure.in for more information. *** End patchlevel 75 and later *** You don't need to have gcc to build GNU Chess. However, GNU Chess is written in ANSI C. If you have only an old K&R C compiler, be sure you have the current patchlevel of GNU Chess, and get "unproto" by: Wietse Venema wietse@wzv.win.tue.nl Mathematics and Computing Science Eindhoven University of Technology The Netherlands It was released in comp.sources.misc Vol 27 with patches in vol 28 and vol 38. Among other places, it can be found on unix.hensa.ac.uk in pub/uunet/usenet/comp.sources.misc/volume27/unproto. Compile it and copy the cpp it produces into the gnuchess src directory before you type "make" there. ----- [17] How do I build XBoard? Do I need gcc? The first step to building XBoard is to get the distribution file. See topic [10] for places you can ftp the software from. To unpack and build the xboard distribution, xboard-*.tar.gz, give these Unix commands: gzip -cd xboard-*.tar.gz | tar -xvf - cd xboard-*/ configure make If the first step above fails because you don't have gzip, see topic [10], and ask a local Unix expert if you need more help. If you have any problems with the last two steps, read the READ_ME and INSTALL files in the xboard-*/ directory. You will also find this FAQ there. You don't need to have gcc to build XBoard, and your C compiler doesn't have to be ANSI-compliant. ----- [18] When I try to use GNU Chess with XBoard, it says "Error: first chess program (gnuchessx) exited unexpectedly". Try running XBoard again with the "-debug" flag on the command line. This will print out all the messages received from GNU Chess. If you see this problem as soon as GNU Chess starts up, most likely GNU Chess is exiting with an error message. If you see the message "NO LANGFILE", it means that you did not install GNU Chess correctly, and it is unable to find the file gnuchess.lang. Make sure that you defined LIBDIR in the gnuchess Makefile, and that gnuchess.lang is in that directory. If gnuchess.lang is not there, you probably didn't type "make install" in the gnuchess src directory; you must do this to install gnuchess.lang (and the gnuchess book). If you defined LIBDIR to something that is not an absolute pathname (that is, to something that does not start with a "/"), GNU Chess will work only if you run it from the GNU Chess "src" directory where you built it. If the problem happens while GNU Chess is running, you may have hit a GNU Chess bug. There was a bug in 4.0 pl72 that would corrupt the stack and cause the program to exit, sometimes with a nonsensical message first, sometimes with no message. It was especially evident on Linux. There is some evidence that this bug is not yet fixed but just happens less often. If you can help gather evidence to track this problem down, please let us know. A test case that can be reproduced would be especially welcome. ----- [19] Sometimes GNU Chess plays an extra, bogus move after the game is over. There have been bugs in some versions of GNU Chess that caused this symptom. We believe they are all fixed in 4.0 pl74 and later. ----- [20] XBoard sometimes hangs when I'm using it to play against GNU Chess on a position that I've modified with Edit Position. You need to get the latest version of GNU Chess. A few recent versions of GNU Chess contained a subtle change to the behavior of the "new" command that made them incompatible with previous versions and with XBoard. There is no way to restore compatibility by changing XBoard, so instead, GNU Chess has been changed back. See topic [11]. ----- [21] GNU Chess often uses a little too much time and lets its flag fall near the end of a time control period. GNU Chess is known to be a bit too aggressive in using its clock time and sometimes lets its flag fall. Some bugs that caused this symptom have been fixed, but more work on the problem may be needed. ----- [22] When I use GNU Chess with XBoard, it seems to freeze on me after it gets out of its opening book. First, be sure you have the latest versions of GNU Chess and XBoard; see topic [11] above. If you do, and you still have this problem, check the following. a) Perhaps the feature in GNU Chess that lets you stop it thinking on your time by just entering your move is not working. This feature relies on the FIONREAD ioctl, which seems to be broken on some versions of Unix. XBoard uses this feature if the flag -DATTENTION is not present on the DEFINES line of the XBoard Makefile. XBoard 3.1 and later are distributed with this flag already set, so you should not have a problem unless you have removed it. b) You might have built your GNU Chess with the wrong -D options. With some versions of GNU Chess, this can cause GNU Chess and XBoard to disagree about what units time is measured in, causing GNU Chess to think for 100 times as long as it should. Look at your GNU Chess Makefile and check that the line of options marked "normal", not the line marked "gnufour ICS client", is uncommented, something like this: # gnufour ICS client # #OPT= -DUSEINT -DCACHE -DCLIENT -DGDX -DHASGETTIMEOFDAY -DNULLMOVE -DQUIETBACKGROUND -DBAREBONES -DWAY4PL64 -DHISTORY -DAGING # normal OPT= -DUSEINT -DCACHE -DGDX -DHASGETTIMEOFDAY -DNULLMOVE -DQUIETBACKGROUND -DSEMIQUIETBOOKGEN -DWAY4PL64 -DHISTORY -DHASHSTATS -DAGING c) You might have a persistent transposition table (hashfile) that has been corrupted. Look in the LIBDIR directory you defined in the GNU Chess Makefile, and if you find a file named gnuchess.hash there, remove it. Do not use the hashfile if you are running multiple copies of GNU Chess at the same time (for instance, with Two Machines mode in XBoard). In fact, it is probably best not to use the hashfile under any circumstances. ----- [23] When I use GNU Chess with XBoard, it sometimes tells me that moves are illegal when they aren't. a) First, be sure you have the latest versions of GNU Chess and XBoard; see topic [11] above. Several different bugs that could cause this symptom existed in old versions but have been fixed in the latest ones. b) Another possibility is that you have a persistent transposition table (hashfile) that has been corrupted. Look in the LIBDIR directory you defined in the GNU Chess Makefile, and if you find a file named gnuchess.hash there, remove it. Do not use the hashfile if you are running multiple copies of GNU Chess at the same time (for instance, with Two Machines mode in XBoard). In fact, it is probably best not to use the hashfile under any circumstances. ----- [24] GNU Chess crashes when I try to compile and run it on the DEC Alpha. Get the latest version of GNU Chess. Some bugs that showed up only on the Alpha are fixed in version 4.0 patchlevel 73 and later. If you still have problems, try compiling with the -migrate flag or the -O1 flag. Some versions of the Alpha C compiler have optimizer bugs that affect GNU Chess. ----- [25] I get an error message about FIONREAD when trying to run (or build parts of) gnuchess. The message looks something like this: > FIONREAD: Operation not supported on socket > You probably have a non-ANSI ; see README. -1 45 4004787f If you are using gcc to compile, the solution to this error message is usually to go to the GNU Chess Makefile, find the line that starts "CFLAGS=" (with no # character in front of it), and append the flag "-traditional-cpp" to the end of the line. Then do rm dspcom*.o gnuan.o make make install to rebuild gnuchess. If you aren't using gcc, we don't really understand why this should happen, but we do have a brute-force workaround: You can simply disable the gnuchess feature that uses FIONREAD. Find all the places in dspcom.c (and gnuan.c) where the line "#ifdef FIONREAD" occurs. Change each of them to "#ifdef NOTDEF". Then recompile gnuchess. With this code disabled, if you tell gnuchess to think on your time ("hard" mode), you will have to type ^C to make it stop thinking when you want to make your move. The current version of XBoard does this automatically, so disabling the code has no effect on XBoard. ----- [26] I can't build XBoard because xmkmf and imake are not present on my system. This one is easy now. Beginning with XBoard 3.2, xmkmf and imake are no longer required. ----- [27] I can't build XBoard because the "#include " files are not found. (Often a problem for HP-UX users.) These are the header files for the Athena Widgets library, which XBoard uses heavily. Some versions of Unix don't supply these files, but they are part of the standard X distribution, freely available from MIT. For general information on getting missing X sources, see the FAQ on comp.windows.x. Note that you may be missing only the header files, or you may be missing the libraries themselves too. HP-UX users are missing only the header files. You can get them by anonymous FTP as follows. (But first check with your system administrator to see if someone else at your site has already done this.) Get the archive files /hpux9/X11R5/Core/imake-5.04.tar.gz (imake and xmkmf, optional but useful) and /hpux9/X11R5/Core/Xaw-5.00.tar.gz (Xaw header files) via anonymous FTP from the site hpux.csc.liv.ac.uk (138.253.42.172), or one of the other official sites---Germany: hpux.ask.uni-karlsruhe.de (129.13.200.57), US: hpux.cae.wisc.edu (144.92.4.15), France: hpux.cict.fr (192.70.79.53) or Netherlands: hpux.ced.tudelft.nl (130.161.140.100). Unpack the archives using gzip and follow the instructions in their README and HPUX.Install files. Thanks to Richard Lloyd for this information. If you have the Xaw header files installed in a different place than the other X11 headers, you may need to configure XBoard with an extra flag to help it find them. For example, if yours are in /foo/bar/X11/Xaw, try this: rm config.cache (setenv CFLAGS -I/foo/bar ; configure) Also see topic [28]. ----- [28] When trying to build XBoard, I get error messages about undefined symbols. The configure script for XBoard looks for X libraries and header files in some common places. Sometimes it fails: If yours are installed in an odd place, it may not find them at all. If you have more than one version of X installed on your system, it may find the "wrong" one, or occasionally it may find libraries from one version and incompatible header files from another. You can work around these problems by telling the configure script where the files are. For example: configure --x-includes=/odd/place/include --x-libraries=/odd/place/lib The directory named in the argument to --x-includes must have a subdirectory "X11" that contains the actual .h files. Some linkers have bugs that cause bogus error messages when you try to link X programs. The configure script includes a workaround for a bug of this kind that exists in some SunOS 4.x.x installations. See the FAQ on comp.windows.x for more information about problems of this kind. If you have X11R6, the configure script for XBoard 3.2.pl2 and earlier may not find all the link libraries you need. This bug is fixed in XBoard 3.3. If all else fails, check whether anyone else at your site has been able to compile any X programs on your system. Your X installation might be buggy. If so, the system administrator at your site might know how to fix or work around the problem. Also see topic [27]. ----- [29] How do I use XBoard as an external viewer for PGN files with NCSA Mosaic or Netscape? 1) Add the following line to the file .mime.types in your home directory. (Create the file if it doesn't exist already.) application/x-chess-pgn pgn 2) Add the following line to the file .mailcap in your home directory. (Create the file if it doesn't exist already.) application/x-chess-pgn; xboard -ncp -lgf %s 3) Exit from Mosiac and restart it. To confirm that XBoard is working as an external viewer, open the following URL, click on "Kasparov, Gary Kimovich", and then click on any of the game names shown. http://www.traveller.com/scripts/chess_players?Kasparov For some reason that we don't quite understand, games under the above URL don't cause XBoard to be started when you are using Netscape; they work only with NCSA Mosaic. Games under the following URL work with both. http://www.ub.uit.no/chess/pgn/gamelist.html ----- [30] Does GNU Chess run on VMS? An old VAX VMS version is available at ada.cenaath.cena.dgac.fr in the [.VMS] directory: Directory CENA10:[ANONYMOUS.VMS] GNUCHESS.ZIP;1 307 21-MAR-1994 18:42:05.13 It's only a character cell version for VT100, VT200, etc. terminals. [Thanks to Patrick Moreau for this information.] ----- [31] Does XBoard run on VMS? No. But please send mail to info-gnu-chess@prep.ai.mit.edu if you port XBoard to VMS. ----- [32] When I try to build GNU Chess, I get a message that "setlinebuf" is undefined. GNU Chess is trying to use a library function that is not present in your C library (namely, setlinebuf). There are two things to try as possible solutions: 1) Add -DSYSV to the CFLAGS= line in the Makefile. (To the CFLAGS line that doesn't start with a # sign, that is.) Then do "rm nondsp.o; make". 2) If (1) doesn't work, leaving you with a similar error, but citing setvbuf instead of setlinebuf, try the following. Remove the -DSYSV again, go into nondsp.c, and edit the line of code where setlinebuf is called to read "setbuf(stdout, NULL);" instead. This problem will be fixed in GNU Chess 4.0.pl76. ----- ** End of GNU Chess FAQ **