Page 1 of 3

Need help building winboard

PostPosted: 15 Dec 2008, 16:57
by rigao
Hi everybody.

This is the first post i ever make, but i hope to be a proud member of the community and help developing winboard a little bit, if i can find some help.

I can't build winboard with cygwin as was explained in the readme.txt file in the winboard section, when i try to invoque gcc -o ... etc etc i get tons of errors while compiling. I tried to put every file in the winboard section in the xboard section, because i noticed that there were some .c missing in the winboard section, but i dont know if i need to make any change in this .c. I would try with the command make, but i'm affraid that my cygwin doesnt have this instruction.

Can some1 explainme the best way to build winboard on cygwin?

This is the first step if i ever want to make some improvement.

Once i have this solved, i will ask you some of my many questions about the inside of winboard, so i can change things without damaging anything :) but lets go step by step.

Thanks.

Re: Need help building winboard

PostPosted: 15 Dec 2008, 20:45
by H.G.Muller
You are right; the readme.txt is obsolete, and refers to the previous (4.3.13) distribution, before we included xboard, and cast the source tree back into the shape of Timm Man's tree.

The sad truth, however, is that I also don't know how to compile from this tree. A cygwin make file is included, but I am not sure if it is still up to date for the Winboard_x source files), as I never used it. I still compile from my own source tree, which has all only the WinBoard files, all in one directory, (so the compilation instructions in the readme.txt still apply), and when I release I copy all files I modified to the official source tree of the previous release, overwriting the old files.

I will try to solve this in the next release, 4.3.15. (This should be soon, as I consider the bug that prevented xboard to work with PSWBTM so important that it is worth a new release in itself, even though not everything I would like to have working in xboard is working yet.)

For now, the best solution is indeed to copy the needed back-end files to the winboard directory, and compile there according to the instructions in readme.txt. The trick is to know which files are needed.

The safest procedure is this:

1) copy the sub-tree starting from the sub-directory to some other place.
2) copy all .h files from the xboard directory there. Extra .h files will not hurt, but this step might overwrite some WinBoard .h files with xboard .h files of the same name (e.g. config.h). To cure that we do:
3) copy all .h files from the original winboard directory to the copy of that directory
4) copy the following .c files from the xboard dirrectory to the new winboard directory:
backend.c
gamelist.c
lists.c
moves.c
parser.c
pgntags.c
uci.c
zippy.c

Then the compilation instructions from the readme..txt should work if you are in the new winboard directory. If not, post the list of error messages here.

Re: Need help building winboard

PostPosted: 16 Dec 2008, 19:11
by rigao
Thx, i will try it and keep u informed :)

I make a sepparate post to explain what i want to do, because maybe some1 is doing exactly the same, and i dont want to reinvent the wheel.

Re: Need help building winboard

PostPosted: 16 Dec 2008, 20:35
by rigao
I tried to compile winboard 14 picking every file i needed from the xboard directory and declaring three variables where were undeclared.

After that, i get this msg while running cygwin.mak:

"/c/program files/help workshop/hcrtf.exe" -xn winboard.hpj
/bin/sh: /c/program files/help workshop/hcrtf.exe No such file or directory
make: *** (winboard.hlp) Error 127


On the other hand, the other way of compiling (using readme.txt in winboard directory) returns like 1000 errors and i cant fix it.

With the winboard 15 beta i try to use the make command, as i dont know any other way around, and this doesnt work either, but gives a lot of errors.

Any help

Maybe u can send me what u use to compile in ur computer at rigao(at)alumni.uv.es

Re: Need help building winboard

PostPosted: 16 Dec 2008, 22:51
by Teemu Pudas
Edit: oops, never mind.

Re: Need help building winboard

PostPosted: 17 Dec 2008, 00:05
by H.G.Muller
The error messages you get from the makefile are related to building the WinBoard help file, not the executable. The help file is built from a Word RTF file by means of some (free) MicroSoft help compiler, which you probably don't have installed on your system. Hence the messages.

When you use the readme.txt method, which command gives you the error messages? Is it flex, windres, the compilation step (gcc -c *.c) or the linking step (gcc *.o)? If it is the compilation step, you are probaby missing a .h header file (and the first error message should be that it was missing). After that, errors come in zillions, because of all the undeclared variables that were supposed to be declared in the .h file.

That is why it is important to see the first few error messages. Solve those, and the 1000 others automatically disappear. So save the error messages on a file by appending 2> errors.txt to the command producing the error messages, and post the first 20 lines of errors.txt here.

Re: Need help building winboard

PostPosted: 17 Dec 2008, 13:52
by Charles Browne
This might be useful to someone in the future.

I actually compiled Winboard X today on Windows Me using Milix's (Anastasios Milikas') modified cygwin.mak file told about in the below post. For someone like me that really doesn't know anything about compiling that is something. I'm not being humble either.

http://www.open-aurec.com/wbforum/viewt ... 5430#26903

At first using the whole cygwin.mak file from the above post caused all kinds of "missing separator" type errors for the cygwin.mak file to be listed when trying to compile. Something went awry in the copy and paste I guess.

Finally I just copied and pasted the below two sections into the original cygwin.mak file that came with Winboard 4.2.7 and it compiled. Of course first I had to move the Winboard X source files to the necessary places in the original Winboard 4.2.7 source file directories. Everything I've tried while running the compiled exe file looks like it works - so far.

I'll see if I am able to compile 4.3.14 later today.


Code: Select all
proj=winboard
allobj=  winboard.o backend.o parser.o moves.o lists.o \
    gamelist.o pgntags.o wedittags.o wgamelist.o zippy.o \
         wsockerr.o wbres.o wclipbrd.o woptions.o uci.o \
       wengineoutput.o wevalgraph.o whistory.o wlayout.o \
       wplugin.o wsnap.o

dotc=   winboard.c backend.c parser.c moves.c lists.c \
    gamelist.c pgntags.c wedittags.c wgamelist.c zippy.c \
         wsockerr.c winboard.rc wclipbrd.c woptions.c uci.c \
       wengineoutput.c wevalgraph.c whistory.c wlayout.c \
       wplugin.c wsnap.c

# Currently WinBoard will build either with or without -mno-cygwin



Code: Select all
# DO NOT DELETE

winboard.o: config.h ../common.h winboard.h resource.h ../frontend.h
winboard.o: ../backend.h ../lists.h ../moves.h wclipbrd.h wgamelist.h
winboard.o: wedittags.h woptions.h wsockerr.h defaults.h
backend.o: config.h ../common.h ../frontend.h ../backend.h ../lists.h
backend.o: ../parser.h ../moves.h ../zippy.h ../backendz.h
parser.o: config.h ../common.h ../backend.h ../lists.h ../frontend.h
parser.o: ../parser.h ../moves.h
moves.o: config.h ../common.h ../backend.h ../lists.h ../frontend.h
moves.o: ../moves.h ../parser.h
lists.o: config.h ../common.h ../lists.h
gamelist.o: config.h ../common.h ../frontend.h ../backend.h ../lists.h
gamelist.o: ../parser.h
pgntags.o: config.h ../common.h ../frontend.h ../backend.h ../lists.h
pgntags.o: ../parser.h
wedittags.o: config.h ../common.h winboard.h resource.h ../frontend.h
wedittags.o: ../backend.h ../lists.h
wgamelist.o: config.h ../common.h winboard.h resource.h ../frontend.h
wgamelist.o: ../backend.h ../lists.h
zippy.o: config.h ../common.h ../zippy.h ../frontend.h ../backend.h
zippy.o: ../lists.h ../backendz.h
wsockerr.o: wsockerr.h
winboard.o: resource.h
wclipbrd.o: config.h ../common.h winboard.h resource.h ../frontend.h
wclipbrd.o: ../backend.h ../lists.h wclipbrd.h
woptions.o: config.h ../common.h winboard.h resource.h ../backend.h
woptions.o: ../lists.h ../frontend.h woptions.h defaults.h wedittags.h
wengineoutput.o: config.h ../common.h winboard.h resource.h ../frontend.h
wevalgraph.o: config.h ../common.h winboard.h resource.h ../frontend.h
whistory.o: config.h ../common.h winboard.h resource.h ../frontend.h
wlayout.o: config.h ../common.h winboard.h resource.h ../frontend.h
wplugin.o: config.h ../common.h winboard.h resource.h ../frontend.h
wsnap.o: config.h ../common.h winboard.h resource.h ../frontend.h
wsnap.o: wsnap.h



One thing though the exe I compiled came to 1.83MB, while Alessandro Scotti's exe is only .97MB.



I'd like to be able to compile it the way H.G. Muller showed in the below post but I haven't been able to, I guess since this is Windows Me and he showed a way using Windows 2000. But I'm happy being able to do it with a cygwin.mak file.

http://www.open-aurec.com/wbforum/viewt ... 6854#31739

Re: Need help building winboard

PostPosted: 17 Dec 2008, 14:35
by H.G.Muller
I would be very surprised if W.Me or W.2000 would make any difference, especially under cygwin. It would be then more likely that the cygwin version made a difference.

The way I described only works when all files (except the bitmaps) are in a single directory. And this is not how they are in the official 4.2.7 tree. But as WinBoard_x did not come as a complete source tree, I originally completed it with files from the 4.2.7b distribution by ptting them all in the same directory. Which was also the way I distributd the source of 4.3.13. But this turned out to be incompatible with building a Linux version, so when we included xboard again in the 4.3.14 release, we had to switch back to the old tree.

But a working cygwin makefile should definitely be included in the 4.3.15 distro. So I would be very interested to try out your WB_x make file, to see if it works for 4.3.15 as well. (It should, as I did not add any new source files to the project, just modified existing ones.)

Re: Need help building winboard

PostPosted: 17 Dec 2008, 15:06
by Charles Browne
I have tried to compile 4.3.14 with the cygwin.mak file but I get the below errors that I do not understand. I used only your source files and only replaced the cygwin.mak file with the Anastasios Milikas one.

Code: Select all
$ make -f cygwin.mak
gcc -I. -I.. -mno-cygwin -g   -c -o winboard.o winboard.c
gcc -I. -I.. -mno-cygwin -g   -c -o backend.o ../backend.c
../backend.c: In function `HandleMachineMove':
../backend.c:5497: error: `NrW' undeclared (first use in this function)
../backend.c:5497: error: (Each undeclared identifier is reported only once
../backend.c:5497: error: for each function it appears in.)
../backend.c:5500: error: `bare' undeclared (first use in this function)
../backend.c:5503: error: `NrPiece' undeclared (first use in this function)
make: *** [backend.o] Error 1



The cygwin.mak file can be gotten here. Rapidshare is the only place I can easily upload to.

http://rapidshare.com/files/174226103/cygmak.tar.bz2

I also intended to go back and take a look at the structure of Anastasios Milikas' cygwin.mak file but I haven't done that yet.

Re: Need help building winboard

PostPosted: 17 Dec 2008, 15:51
by Charles Browne
Charles Browne wrote:I'd like to be able to compile it the way H.G. Muller showed in the below post but I haven't been able to, I guess since this is Windows Me and he showed a way using Windows 2000. But I'm happy being able to do it with a cygwin.mak file.

http://www.open-aurec.com/wbforum/viewt ... 6854#31739


H.G.Muller wrote:I would be very surprised if W.Me or W.2000 would make any difference, especially under cygwin. It would be then more likely that the cygwin version made a difference.



When Cygwin was installed I installed the current Cygwin and besides the default installation I installed

gcc-g++: C++Compiler (and what ever was automatically selected when I selected it)

and

Make: The GNU version of the 'make' utility


Possibly for compiling Winboard there are other things I should have installed in addition to the above.

Re: Need help building winboard

PostPosted: 17 Dec 2008, 16:56
by H.G.Muller
It seems the above errors are genuine errors in the backend.c you have. Apparently a faulty backend.c got included in the source distribution. It is really amazing that no one complained about this before, as backend.c is used both in WinBoard and xboard, and I am pretty sure some xboard people compiled it (e.g. for the Mac). I had an xboard 4.3.14 version compiled myself!

It is probably due to a last-minute change made after I compiled my Linux version, and I probably forgot to compile again afterwards to check if it worked. (Or compiled in a wrong directory, where an older version was.) I have included some lines of code, copied from the Windows development on another machine, without copying the declaration of some new variables it used. :(

Re: Need help building winboard

PostPosted: 17 Dec 2008, 18:26
by rigao
I've had this problem before. If u read my first post (i think) i say there were some problems with missing declarations.

As far as i know, the problem is solved declaring them to 0 3 or 4 lines above the error, where every other variable of that kind is declared. I made this, and tried to use the ¡.mak again, and then is when i got that error about the help files... This is why i couldnt use the .mak to build the 14.

I will post later today the problems that i found with the 15 beta and with the readme.txt method :) which doesnt work for the 14 neither for the 15 beta.

Re: Need help building winboard

PostPosted: 17 Dec 2008, 18:57
by Charles Browne
H.G.Muller wrote:It seems the above errors are genuine errors in the backend.c you have. Apparently a faulty backend.c got included in the source distribution.



If you decide to replace the backend.c file that is available in the source files here (if you haven't already) -

http://www.open-aurec.com/wbforum/WinBo ... 4.3.14.zip

- could you please let me know so I can download the source and try to compile it again? I'm beginning to think it was dumb luck that I was able to compile Winboard X. I think I misread Anastasios Milikas' directory structure in that post of his I referenced. I think I had about three or four files that should have been in the winboard directory actually in the xboard one, though I received no errors during the compile regarding these files.

Thanks

Re: Need help building winboard

PostPosted: 17 Dec 2008, 19:39
by rigao
Building Winboard 4.3.14
--------------------------------

I download the source files from the link

http://www.open-aurec.com/wbforum/WinBo ... 4.3.14.zip

and uncompress it. As i try to run the compilation inside the winboard directory of the xboard14 directory, i copy (not cut) the following files to winboard directory from its parent directory xboard14:

Every header that were not in winboard directory: acconfig, backend, backendz, childio, common, frontend, list, moves, parser, xboard, xedittags, xgamelist,xhistory,zippy. I dont find any problem doing this operation, no .h file was trying to overwrite himself.
The following .c files (as i was told by H.G.Muller): backend.c, gamelist.c, lists.c, moves.c, parser.c, pgntags.c, uci.c, zippy.c.

Once all this files are copyed to the directory “winboard” inside xboard14, i try to run the .mak file in cygwin:

Code: Select all
make -f cygwin.mak


but i get the declaration error, so i go to the 5444 line in backend.c and write the following line:

Code: Select all
int NrW=0, bare=0,NrPiece=0;


try another time to run make and get the following error:

Code: Select all
 /bin/sh: /c/program files/help workshop/hcrtf.exe: No such file or directory
    make: *** [winboard.hlp] Error 127


which acording to H.G.Muller is because i dont have some program for the help files.

So then i try to use the method in readme.txt in winboard directory, which i copy here:

Code: Select all
flex -oparser.o -L parser.l
    windres --use-temp-file --include-dir . winboard.rc -O coff -o wbres.o
    gcc -O2 -mno-cygwin -mwindows -c *.c
    gcc -mno-cygwin -mwindows *.o -lwsock32 -lwinmm -o winboard.exe
    strip winboard.exe
    rm *.o


i omit the first one because i already have parser.c
In the second one i get an error because there is no “sounds\ding1.wav”, but as when invoking make -f cygwin.mak there was the same exact instruction working but with .. instead of a lone ., i use the changed instruction

Code: Select all
windres --use-temp-file --include-dir .. winboard.rc -O coff -o wbres.o


which works. With the 3th order i get a ton of errors, i just copy some of the first errors:

Code: Select all
In file included from gamelist.c:26:
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/stdio.h:393: error: redefinition of 'putchar'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/stdio.h:393: error: redefinition of 'putchar'
In file included from lists.c:29:
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/stdio.h:393: error: redefinition of 'putchar'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/stdio.h:393: error: redefinition of 'putchar'
In file included from moves.c:51:
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/stdio.h:393: error: redefinition of 'putchar'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/stdio.h:393: error: redefinition of 'putchar'
In file included from parser.c:11:
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/stdio.h:393: error: redefinition of 'putchar'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/stdio.h:393: error: redefinition of 'putchar'
In file included from pgntags.c:29:
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/stdio.h:393: error: redefinition of 'putchar'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/stdio.h:393: error: redefinition of 'putchar'
In file included from uci.c:26:
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-



As it seems that im more inteligent that what i thought, and i saw no way around, i tried to look at the cygwin.mak to delete all this crap about the help file :)

I commented the lines:

Code: Select all
# Update the help file if necessary
#$(proj).hlp : $(proj).rtf
#   $(HC) $(proj).hpj
#   cat $(proj).err


where the last three # are mine. Unfortunately, i needed the file winboard.hlp for the compilation. I got it downloading the built version and pasting this file to my winboard directory :)

But there were tons of .c files missing in the cygwin.mak file, so i needed to actualize it to include every .c that was in my winboard directory. I dont have a copy of the previous .mak, but after i touch it, the cygwin.mak looks like this:

Code: Select all
allobj=  winboard.o backend.o parser.o moves.o lists.o \
    gamelist.o pgntags.o wedittags.o wgamelist.o zippy.o \
         wsockerr.o wbres.o wclipbrd.o woptions.o uci.o \
         wengineoutput.o wlayout.o wplugin.o wsnap.o \
         whistory.o wevalgraph.o

dotc=   winboard.c backend.c parser.c moves.c lists.c \
    gamelist.c pgntags.c wedittags.c wgamelist.c zippy.c \
         wsockerr.c winboard.rc wclipbrd.c woptions.c uci.c \
         wengineoutput.c wlayout.c wplugin.c wsnap.c \
         whistory.c wevalgraph.c


were what i did was to put every .c i had in that list, and the corresponding .o in the allobj list ;)

And guess what.... It worked!!!

So for today, i'm done. I can't believe i could change all this myself, as half of the time i had no idea what i was doing... Indeed i open a .odt file to keep track of everything that i did (and is what ur reading now) because i thought that it wont work and i wanted a detailed explanation on how to do it propperly.


PS: highlight of what i did:

1- copy every .h file from xboard to winboard directory.
2- copy the following .c files from xboadr to winboard directory: backend.c, gamelist.c, lists.c, moves.c, parser.c, pgntags.c, uci.c, zippy.c.
3- Change backend.c file so it can compile -> go to line 5443, create a new line (which will be 5444) and add:
Code: Select all
int NrW=0, bare=0,NrPiece=0;

4- Download the built winboard and copy and paste the file winboard.hlp to your current winboard directory.
5- Comment the lines of cygwin that try to make this help file (which anyway is OBSOLET): U will need to add three # so it will look like this after ur change:

Code: Select all
# Update the help file if necessary
#$(proj).hlp : $(proj).rtf
#   $(HC) $(proj).hpj
#   cat $(proj).err


6- Add every .c missing in lines 11-17 of the cygwin.mak so it will look like this (u will have now more lines now):

Code: Select all
allobj=  winboard.o backend.o parser.o moves.o lists.o \
    gamelist.o pgntags.o wedittags.o wgamelist.o zippy.o \
         wsockerr.o wbres.o wclipbrd.o woptions.o uci.o \
         wengineoutput.o wlayout.o wplugin.o wsnap.o \
            whistory.o wevalgraph.o

dotc=   winboard.c backend.c parser.c moves.c lists.c \
    gamelist.c pgntags.c wedittags.c wgamelist.c zippy.c \
         wsockerr.c winboard.rc wclipbrd.c woptions.c uci.c \
         wengineoutput.c wlayout.c wplugin.c wsnap.c \
         whistory.c wevalgraph.c



And it built :)

:D

Re: Need help building winboard

PostPosted: 17 Dec 2008, 20:09
by Charles Browne
O.K., What I have done is extracted the Winboard 4.3.14 files. I then replaced the cygwin.mak file in the winboard folder with Anastasios Milikas' updated cygwin.mak file. I moved no other files except to add the winboard.hlp file from the original Winboard 4.2.7 to the winboard folder.


Then I followed Rigao's instructions here.

rigao wrote:3- Change backend.c file so it can compile -> go to line 5443, create a new line (which will be 5444) and add:
Code: Select all
int NrW=0, bare=0,NrPiece=0;



And in cygwin used: make -f cygwin.mak

Every thing fine and no backend.c errors showed up. Thanks Rigao!!

Then I hit this that Rigao mentioned

Code: Select all
"/c/program files/help workshop/hcrtf.exe" -xn winboard.hpj
/bin/sh: /c/program files/help workshop/hcrtf.exe: No such file or directory
make: *** [winboard.hlp] Error 127



I'll read Rigao's instructions regarding this later.


Edit:

O.K, later came sooner than I thought it would. It was easy enough to try so I gave it a go.

Following Rigao's instructions below was the last remaining thing for me to do.

rigao wrote:5- Comment the lines of cygwin that try to make this help file (which anyway is OBSOLET): U will need to add three # so it will look like this after ur change:

Code: Select all
# Update the help file if necessary
#$(proj).hlp : $(proj).rtf
#   $(HC) $(proj).hpj
#   cat $(proj).err




In the cygwin.mak file, commenting out the above three lines given by Rigao and Winboard 4.3.14 compiled into an executable file. I did open the exe file but I haven't tested it yet, though I feel confident everything is fine.


BTW, the compiled Winboard 4.3.14 exe file came out to be 2.09MB.

Re: Need help building winboard

PostPosted: 17 Dec 2008, 22:09
by H.G.Muller
It is a bit difficult for me to replace the backend.c in the archive on Olivier's website, right now. The errors in backend.c 4.3.14 are quite easy to fix, though. It should be done slightly different from the way rigao did it, though.

1) The NrPiece should not be declared at all: this is a typo, and it should have been NrPieces in stead (which was declared).

2) "int NrW=0" should indeed be declared should indeed be declared where rigao had it. (I have it on line 5442, amongst the other int declarations.)

3) I have "static int bare = 1;" appended to the end of line 5415 in my version that works. It probably would also work if you declare it at the place where rigao did it. But important is that it should be declared as "static". (This only affects Shatranj anyway, it is for detecting the bare-king loss condition.)

That should do it.

Re: Need help building winboard

PostPosted: 18 Dec 2008, 20:02
by rigao
I still cannot build v15 with the method used to build v14. Did you tried? Or you use the way explained in readme.txt?

Re: Need help building winboard

PostPosted: 18 Dec 2008, 23:46
by H.G.Muller
It seems the 4.3.14 release (and consequently also the 4.3.15 pre-release, which was cloned from it) contains an obsolete winboard.h file. I put the winboard.h with which I succesfully compile under Windows at

http://home.hccnet.nl/h.g.muller/winboard.h

Re: Need help building winboard

PostPosted: 19 Dec 2008, 20:22
by rigao
v15 beta built:

I used winboard.h provided by muller (as everything else, but i mean i used the last winboard.h provided in this topic).

resources.h was buggy. It laks some definitions. I made them as i was feeeling, as i was not going to use this options anyway. As example. IDC_Centaur (or something like this) was missing. This happened with another one, that i cannot recall.

uci.c had the #include<windows.h> missing. I just declared it.

There were king and another .bmp missing from shogui directory. As i dont want to play shoghy, i just make a copy of another bmp and called it that way :)

After this changes, i used the cygwin.mak and it worked.

:)

Re: Need help building winboard

PostPosted: 19 Dec 2008, 21:46
by H.G.Muller
OK, thanks for your feedback. The resource.h was indeed an obsolete one, I forgot to replace it. (The v15 pre-release so far was only meant and tested for Linux; I put it there to allow others to test this xboard with PSWBTM, as v14 did not work with PSWBTM, but resource.h is a Windows-specific file.)

I am surprised that uci.c needs winboard.h. When I compile under Linux it does not seem to need it. But it is good to know that it does, it means I have to make the inclusion conditional. Perhaps some other included files for which the WinBoard vers version is different from the xboard version refer to symbols declared in winboard.h.

Do you remember what the error message was when winboard.h was not included?