Compiling and testing Winboard development versions
Posted: 28 Feb 2014, 13:36
Hello to all,
Hello, HGM,
First, I would like to thank HGM on my behalf and on behalf of a lot of Winboard users I have talked to, for his unfailing readiness to help and to respond to our wishes with immediate patches, no matter how freaky can be those wishes sometimes, and no matter if he likes the patches or not. Thanks to HGM's work Winboard / Xboard became a dream program to many chess enthusiasts.
I like particularly the abilities of Winboard to handle opening books. This can be done much easier in Winboard than in Scid, especially manual tweaking. I became particularly interested in the ability of the latest development versions to easily import pgn files with many games into books ("Save games to book" feature). That's why I tried to compile some of the latest xboard patches on the HGM's git hub. I have a Windows 32 system so the choice was Mingw or Cygwin. I tried both. In this post I'll relate my experience and problems with Mingw.
Running
AddBookMove is at line 7003 of backend.c. Commenting out this line
Tried it in standalone mode and in FICS without problems so far. The new function "Save games to book" works as expected. Another new function, a separate chat window also works. It has 6 button, only 2 of which are functional (the other 4 are blank). Checking TbHits box shows some numbers in the line below the clocks but does not show them in the engine output window. I am not sure what these numbers mean. I suppose that the last one is the tablebase hits because it stayed 0 at the beginning and started to increase towards the endgame (I used Stockfish development version with syzygy bases).
I have a small comment about the Game list item. In the View menu 'Game list' starts the Game list dialog box if such list is available, otherwise it starts the Game Tags box. In the Options menu, almost the same item 'Game list ...' starts the Game Tags box. It is a little confusing. Another duplicate command is 'Ponder next move'. It is in Options, Common Engine ... and in Options, General ...
This is all for now. Next time I will tell about my experience with Cygwin.
Thank you again, HGM. Keep up the great work!
Hello, HGM,
First, I would like to thank HGM on my behalf and on behalf of a lot of Winboard users I have talked to, for his unfailing readiness to help and to respond to our wishes with immediate patches, no matter how freaky can be those wishes sometimes, and no matter if he likes the patches or not. Thanks to HGM's work Winboard / Xboard became a dream program to many chess enthusiasts.
I like particularly the abilities of Winboard to handle opening books. This can be done much easier in Winboard than in Scid, especially manual tweaking. I became particularly interested in the ability of the latest development versions to easily import pgn files with many games into books ("Save games to book" feature). That's why I tried to compile some of the latest xboard patches on the HGM's git hub. I have a Windows 32 system so the choice was Mingw or Cygwin. I tried both. In this post I'll relate my experience and problems with Mingw.
Running
- Code: Select all
make -f makefile.gcc
- Code: Select all
extern int highTextStart[2], highTextEnd[2];
- Code: Select all
$ make -f makefile.gcc
../backend.c
../backend.c: In function 'HandleMachineMove':
../backend.c:8762:1: warning: unknown conversion type character 'l' in format [-
Wformat=]
if(appData.debugMode) fprintf(debugFP, "nodes = %d, %lld\n", (int) programStats
.nodes, programStats.nodes);
^
../backend.c:8762:1: warning: too many arguments for format [-Wformat-extra-args
]
../backend.c: In function 'read_from_ics':
../backend.c:3085:6: warning: 'collective' may be used uninitialized in this fun
ction [-Wmaybe-uninitialized]
if(collective != 3) next_out = i+1; // [HGM] suppress printing in ICS window
^
../book.c
../gamelist.c
../lists.c
../moves.c
../pgntags.c
../uci.c
../zippy.c
../parser.c
windres -D_WIN32_IE=0x0300 -DWIN32 --use-temp-file --include-dir .. winboard.rc
-O coff -o wbres.o
wclipbrd.c
wedittags.c
wedittags.c: In function 'EditTagsDialog':
wedittags.c:59:32: warning: variable 'flags' set but not used [-Wunused-but-set-
variable]
int len, newSizeX, newSizeY, flags;
^
wengineoutput.c
wengineoutput.c: In function 'ResizeWindowControls':
wengineoutput.c:181:9: warning: variable 'npsWidth' set but not used [-Wunused-b
ut-set-variable]
int npsWidth;
^
wengineoutput.c:180:9: warning: variable 'maxControlWidth' set but not used [-Wu
nused-but-set-variable]
int maxControlWidth;
^
wevalgraph.c
wgamelist.c
wgamelist.c: In function 'GameListDialog':
wgamelist.c:167:27: warning: variable 'flags' set but not used [-Wunused-but-set
-variable]
int newSizeX, newSizeY, flags;
^
whistory.c
../history.c
winboard.c
winboard.c: In function 'WndProc':
winboard.c:4721:13: warning: variable 'wmEvent' set but not used [-Wunused-but-s
et-variable]
int wmId, wmEvent;
^
winboard.c: In function 'CommentDialog':
winboard.c:6392:32: warning: variable 'flags' set but not used [-Wunused-but-set
-variable]
int len, newSizeX, newSizeY, flags;
^
winboard.c: In function 'ErrorDialog':
winboard.c:6757:10: warning: variable 'hwndText' set but not used [-Wunused-but-
set-variable]
HANDLE hwndText;
^
winboard.c: In function 'GothicDialog':
winboard.c:6807:10: warning: variable 'hwndText' set but not used [-Wunused-but-
set-variable]
HANDLE hwndText;
^
wlayout.c
woptions.c
woptions.c: In function 'PaintSampleSquare':
woptions.c:360:11: warning: variable 'oldBrushSquare' set but not used [-Wunused
-but-set-variable]
HBRUSH oldBrushSquare;
^
wsnap.c
wsockerr.c
help.c
wsettings.c
wsettings.c: In function 'GetOptionValues':
wsettings.c:383:12: warning: variable 'hwndCombo' set but not used [-Wunused-but
-set-variable]
HANDLE hwndCombo;
^
wsettings.c: In function 'AddOption':
wsettings.c:580:2: warning: case value '112' not in enumerated type 'Control' [-
Wswitch]
case Slider+100:
^
wsettings.c: In function 'PseudoOK':
wsettings.c:891:12: warning: variable 'saveOK' set but not used [-Wunused-but-se
t-variable]
void (*saveOK)();
^
wsettings.c: In function 'LayoutOptions':
wsettings.c:165:38: warning: 'nextType' may be used uninitialized in this functi
on [-Wmaybe-uninitialized]
if((nextType == TextBox || nextType == ListBox || nextType == FileName || next
Type == PathName) && lastType == ComboBox)
^
wchat.c
../engineoutput.c
../evalgraph.c
gcc backend.o book.o gamelist.o lists.o moves.o pgntags.o uci.o zippy.o parser.
o wbres.o wclipbrd.o wedittags.o wengineoutput.o wevalgraph.o wgamelist.o whisto
ry.o history.o winboard.o wlayout.o woptions.o wsnap.o wsockerr.o help.o wsettin
gs.o wchat.o engineoutput.o evalgraph.o -lmsvcrt -DNDEBUG -fpic -s -mwindows -lw
sock32 -lwinmm -lcomctl32 -o winboard.exe
backend.o:backend.c:(.text+0x241f8): undefined reference to `AddBookMove'
collect2.exe: error: ld returned 1 exit status
make: *** [winboard.exe] Error 1
AddBookMove is at line 7003 of backend.c. Commenting out this line
- Code: Select all
AddBookMove(buf);
Tried it in standalone mode and in FICS without problems so far. The new function "Save games to book" works as expected. Another new function, a separate chat window also works. It has 6 button, only 2 of which are functional (the other 4 are blank). Checking TbHits box shows some numbers in the line below the clocks but does not show them in the engine output window. I am not sure what these numbers mean. I suppose that the last one is the tablebase hits because it stayed 0 at the beginning and started to increase towards the endgame (I used Stockfish development version with syzygy bases).
I have a small comment about the Game list item. In the View menu 'Game list' starts the Game list dialog box if such list is available, otherwise it starts the Game Tags box. In the Options menu, almost the same item 'Game list ...' starts the Game Tags box. It is a little confusing. Another duplicate command is 'Ponder next move'. It is in Options, Common Engine ... and in Options, General ...
This is all for now. Next time I will tell about my experience with Cygwin.
Thank you again, HGM. Keep up the great work!