[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-XBoard] xboard startproblem,20150906.1

From: H.G. Muller
Subject: Re: [Bug-XBoard] xboard startproblem,20150906.1
Date: Tue, 8 Sep 2015 11:34:35 +0200
User-agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0

Op 9/6/2015 om 9:25 PM schreef aaabbcc:

xboard -v
xboard version 4.8.0

  configure options: prefix=/usr; datarootdir=/usr/share; datadir=/usr/share; gamedatadir=/usr/share/games/xboard; desktopdir=/usr/share/applications; mimedir=/usr/share/mime/packages; iconsdir=/usr/share/icons/hicolor/48x48/apps; svgiconsdir=/usr/share/icons/hicolor/scalable/apps; infodir=/usr/share/info; sysconfigdir=; update_mimedb=no; NLS=yes; GKT=no; Xaw3d=no; Xaw=yes; ptys=pipes; zippy=yes; sigint=yes

Note that from XBoard 4.8 on the GTK build is the preferred one, and the Xaw build is sort of obsolete. (Not that this has anything to do with the problems you report...)


>> I have installed both  programms, gnuchess & xboard.

>> If I start xboard alone, I get an error window
>>          "error:first chess programm (fairymax) has finished unexpected"

Fairy-Max is the default engine for XBoard, so normally it should work when you have installed xboard and fairymax, and invoke xboard without arguments.
If the fairymax package would not have been installed, I would have expected the error message from XBoard:

failed to start first chess program fairymax on localhost: no such file or directory

The error message you show implies that Fairy-Max was present, but somehow crashed after XBoard's attempt to start it. This points to a problem in the installation of the fairymax package. What happens if you type the command "fairymax" on the command line (and if it starts then the commands "xboard" and "protover 2" (all without the quotes))?

>> In the window "edit engine list" there are only listed:
>>          GnuChess, Crafty, Fruit 2.1
>> (no fairymax).
>> Is that a bug ore a feature?

This must be a left-over from some earlier version? We distribute XBoard 4.8.0 with in its master settings file the setting

-firstChessProgramNames {fairymax
"Fruit 2.1" -fcp fruit -fUCI
"Crafty" -fcp crafty
"GNU Chess" -fcp gnuchess

which then becomes the default engine list. Fairy-Max is obviously there as first item; also the order of the remaining engines is different from what you see. This can have no effect on running Fairy-Max as default engine, btw. It merely means that you would not be able to select Fairy-Max through the Load 1st/2nd Engine menu items. You can check in /etc/xboard/xboard.conf what the install default of the engine list is; however, if that was later changed by editing the engine list, this change is saved in the "persistence file" with user settings (~/.xboardrc), which overrules the install defaults and is inherited from previous XBoard versions. (Some people have long engine lists, and would not want to lose those when they upgrade XBoard...) So I am pretty sure that there the list is defined as what you actually see. The question is only how it got to be different from the master settings file.

>> If I load the engine "crafty", I get the error message
>>          "error:first chess programm (crafty) has finished unexpected"

Again, this is strange. If you do have Crafty installed, "xboard -fcp crafty", or selecting Crafty from the Engine menu, should work. And if you don't have it, you should get another error message. Again, what happens if you run Crafty from a terminal (in the same way as fairymax above)? This error message points to a problem in the engine, where XBoard managed to find the engine binary and start it, but then receives an 'End Of File' when listening to the engine, indicating that the engine somehow died. There is nothing XBoard can do to prevent an engine from committing suicide. To know exactly what goes on between XBoard and the engine you can start XBoard with the extra argument -debug: "xboard -fcp crafty -debug". It will then create a file xboard.debug in the current directory, which contains a complete log of everything the engine and XBoard said to each other. Sometimes this points out why an engine died, if it is friendly enough to print a reason before doing so. (E.g. if its hash-table memory requirement exceeds the amount of memory your system has available.)

>> If I load "fruit" ,I get the error messAGE
>>          "error:first chess programm (polyglot -noini -ec "fruit"
>>          -ed "." -uci  NalimovCache=4 -pg ShowTbHits=true)
>>          has finished unexpected"

Well, Fruit is a UCI engine, so it can only run through the Polyglot adapter. So you must have the polyglot package installed (and obviously the fruit package) to be able to run Fruit. Again, it is strange Polyglot, which as far as XBoard is concerned is the engine, seems to start and then die. Polyglot is usually very helpful in popping up error messages as to why it exits, when it experiences a fatal error. But I guess if we can diagnose and solve the problems with Fairy-Max and Crafty, this one will disappear as well.

>> Loading "Gnu Chess", I can play chess against the computer.

That GNU Chess works, and not the others, makes it extra strange. In any case it suggests that there is nothing wrong with XBoard, and that the problems are with the other engines. Or it could be that XBoard is somehow not getting the proper error response from the system when it tries to start a non-present program, and therefore only discovers starting it failed when the program it thinks it has started refuses to send anything to XBoard (because in reality it was never there at all).

>> Without loading an engine xboard ist only a chess rule checker.

Indeed, that is somewhat correct. Still, many people use it in this mode to view and edit PGN game files. And many people also use it without engine as an ICS client, to play games at freechess.org or chessclub.com.

>> Are "GnuChess, Crafty, Fruit 2.1" the chess engines?

These are some of the more popular Chess engines, which is why we configured them in the default list. Other engines available under Linux are Phalanx, Stockfish, HoiChess, Sjaak II,, Sjeng (and of course Fairy-Max). And I am sure I must be forgetting some. Virtually every open-source engine can be compiled for Linux, as engines are usually not very platform dependent. Many closed-source engines are offered as Linux binaries for some architectures (usually i386 and amd64). There are also many engines that only play variants other than international Chess, such as MaxQi, GNU Shogi, Bonanza, HaChu, Leonidas. And most engines that are only available as Windows binaries (e.g. Houdini, Rybka) can be run under wine, by using -fcp "wine ENGINENAME.exe".

All engines have to be installed separately, however. Nopackaging system I know does recognize a dependence between XBoard and engine or adapter packages. This because it is possible to use XBoard without an engine, as game viewer or ICS client. So at best they 'recommend' fairymax.

After installing an engine, you would still have to "register" it with XBoard, (which basically means adding it to the engine ist either through editing or through the Load 1st/2nd Engine dialog) in order to be able to select the engine through the menus. XBoard 4.8 supports a mechanism where it automatically adds newly installed engines to the engine list, and this would remove the necessity to have a default engine list with engines that might not be installed. This, however, requires cooperation from the engine packages, which should make their presence known to the system according to the plugin standard. And not many engines do that yet. Once the most important engines comply with this standard we could simply leave the default engine list empty, and engines will appear in it automatically when they are installed.

GNU Chess 6 is basically the same as Fruit 2.1 anyway, with a native XBoard interface rather than UCI. But we left it in the default engine list to provide an example of how a UCI engine can be used.

Regards Dieter

Bug-XBoard mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]