WinBoard-4.4.0beta2 Installer

Discussions about the WinBoard protocol. Here you can also report bugs and request new features.

Moderators: hgm, Andres Valverde

Re: WinBoard-4.4.0beta2 Installer

Postby matematiko » 03 Sep 2009, 13:10

Excellent ideas, and suggestions,

I noticed that when using Dev-C++, a new folder (Obj) is created after compilation, so I was removing the whole folder. In cygwin, I was manually removing all 23 *.o files created by the compilation.

I did not know about the strip command, thanks for this.

I also noticed that by default, makefile.gcc includes instructions to cut the unbilical cord with cygwin1.dll, I've been looking for this for a long time and now I found it here.

Right or wrong, I am a guy that prefers to learn "as you go" rather than grabing a tutorial and going thru 50 pages to learn how to print "Hello World" :) Probably this is not a good idea with C++ but oh well, let's see how things turn out.

Thanks again to both of you for your time and kindness.

matematiko
One that does not live to serve, does not deserve to live.
matematiko
 
Posts: 219
Joined: 07 Dec 2008, 17:11
Location: Texas

Re: WinBoard-4.4.0beta2 Installer

Postby Eric Mullins » 04 Sep 2009, 03:50

It appears I don't check this board often enough to be always useful.

Most of what I'm going to mention was already covered by HGM, but I still need to correct other points.

1) We don't currently have a distclean (or 'dist-clean') target in the makefiles. But as HGM said, you can "make -f makefile.gcc clean" or "nmake -f makefile.ms clean"

2) The missing ../backend.c is pretty serious meaning you are missing the parent directory from winboard. There are files there that are absoutely necessary to build Winboard.

3) The errors you got when building using DevCpp ought to be fixed now, just d/l the current tarball from git. wsettings.c was added to the project, and both cmdline makefiles, but not to the .dev files nor the .dsp

4) stripping the final exe shouldn't be necessary. Both cmdline makefiles strip it in the link stage for non-debug builds. The same is true for the Visual Studio and DevCpp project files.

EDIT -- split item 2) above, adding 5) here along with error messages so that search engines will assist people with this problem.

5) Please note that if you use the same source tree to build both xboard and winboard, there may be a file "config.h" in winboard's parent directory. Building winboard will fail if that file is present. The one in the WINBOARD directory itself is the one you need, but because of compiler include rules, if config.h exists in BOTH places, it picks the wrong one and winboard fails to build. The symptoms of this problem are:

Code: Select all
makefile.gcc:
warning: implicit declaration of function `random`
warning: implicit declaration of function `srandom`
undefined reference to `_random`
undefined reference to `_srandom`

makefile.ms:
fatal error C1083: Cannot open include file: 'sys/time.h': No such file or directory
Eric Mullins
 
Posts: 47
Joined: 28 Aug 2008, 04:54
Location: Albuquerque, NM

Re: WinBoard-4.4.0beta2 Installer

Postby matematiko » 04 Sep 2009, 05:01

Thanks for such valuable information.
One that does not live to serve, does not deserve to live.
matematiko
 
Posts: 219
Joined: 07 Dec 2008, 17:11
Location: Texas

Re: WinBoard-4.4.0beta2 Installer

Postby Eric Mullins » 04 Sep 2009, 05:53

Somehow this thread turned into a compiling Winboard thread. Maybe I should start a new one, but here's some more information for those wanting to compile winboard.

The optimizations in makefile.gcc are designed to give nearly -O3 speed, but at a size very comparable to -Os. One thing I left out was -fomit-frame-pointer which can give a slight speed benefit. Winboard uses very little CPU, so getting concerned about that doesn't make much sense. Anyway I left out that option because it tends to make bugs crash the program when they might not otherwise. That's a bad idea for end users, but it's good for the devs to occasionally test with that option to help expose bugs. In fact, these betas probably ought to have that option included for that reason, while the release shouldn't have that option.

The reason that DevCpp produces larger binaries is that it uses -O3 instead of the more tuned optimizations from makefile.gcc. It's possible to make DevCpp do the same thing though, but I elected not to fiddle with its own preferred optimizations. BTW, -O3 will enable -fomit-frame-pointer, the ramifications of which are discussed above.

The smallest binaries are produced with MSVC 6 using "nmake -f makefile.ms". However, using cygwin with "make -f makefile.gcc" is a close 2nd. I think that's how HGM builds it. BTW, the default makefile.gcc doesn't link with cygwin1.dll, so there's no need for apprehension about using the cygwin build environment. It produces non-cygwin binaries unless you explicitly modify the makefile.
Eric Mullins
 
Posts: 47
Joined: 28 Aug 2008, 04:54
Location: Albuquerque, NM

Re: WinBoard-4.4.0beta2 Installer

Postby Denis P. Mendoza » 13 Sep 2009, 14:45

Compiling winboard is now MSVC friendly. MSVC6 and MSVC8 had not much problems. Here's a good 32-bit WB440 to try!

http://www.mediafire.com/download.php?nzjgndyxyyy

For 64-bit, I had an odd error :( ???:

..\common.h(85) : fatal error C1083: Cannot open include file: 'X11/Intrinsic.h': No such file or directory


I'll try to think of a fix later!


Denis
I'm proud to be a Pinoy! Ikaw dre?
Denis P. Mendoza
 
Posts: 84
Joined: 31 Oct 2007, 16:38
Location: Philippines

Re: WinBoard-4.4.0beta2 Installer

Postby H.G.Muller » 13 Sep 2009, 15:01

Intrinsic.h is an include file for a Unix compile.

WinBoard decides upon conditional code for Windows based on a variable WIN32 being defined or not. I guess that in a 64-bit compile this variable is not defined (perhaps WIN64 is defined in stead). As a consequence, WinBoard assumes you are compiling for Unix. Which will certainly not result in something that could run in any Windows, even if you would have the include files.

Perhaps it works if you compile with the extra option -DWIN32.

If not, then WinBoard is simply not suitable for a 64-bit compile.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WinBoard-4.4.0beta2 Installer

Postby Denis P. Mendoza » 13 Sep 2009, 16:48

H.G.Muller wrote:Intrinsic.h is an include file for a Unix compile.

WinBoard decides upon conditional code for Windows based on a variable WIN32 being defined or not. I guess that in a 64-bit compile this variable is not defined (perhaps WIN64 is defined in stead). As a consequence, WinBoard assumes you are compiling for Unix. Which will certainly not result in something that could run in any Windows, even if you would have the include files.

Perhaps it works if you compile with the extra option -DWIN32.

If not, then WinBoard is simply not suitable for a 64-bit compile.


You are absolutely right HG!

But I'm sure there is a workaround. I've compiled WB_X 64-bit before in ICC, it just takes time to fix the code a bit.
I'm proud to be a Pinoy! Ikaw dre?
Denis P. Mendoza
 
Posts: 84
Joined: 31 Oct 2007, 16:38
Location: Philippines

Re: WinBoard-4.4.0beta2 Installer

Postby Jaap Weidemann » 16 Jun 2010, 10:20

Charles Browne wrote:
matematiko wrote:
Downloaded and decompressed ftp://alpha.gnu.org/gnu/xboard/xboard-4 ... ta2.tar.gz to my home directory and tried again to compaile from there, now these are the warnings and errors I am getting:

Image


I will trying on my own, but any help will be appreciated.

Cheers,



You are almost finished.

This is what you need to do now. Others may offer an alternative way of doing it but this works for me.

1). Open the makefile.gcc file with a text editor and find these lines. All of the lines will be together.

Code: Select all
# Update the help file if necessary
$(PROJ).hlp : $(PROJ).rtf
   $(HC) $(PROJ).hpj
   @cat $(PROJ).err
   @mv $(PROJ).hlp tmp.hlp
   @mv tmp.hlp $(PROJ).hlp # these moves to get the case right



Then "comment out" the additional three lines as shown below.

Code: Select all
# Update the help file if necessary
#$(PROJ).hlp : $(PROJ).rtf
#   $(HC) $(PROJ).hpj
#   @cat $(PROJ).err
   @mv $(PROJ).hlp tmp.hlp
   @mv tmp.hlp $(PROJ).hlp # these moves to get the case right



Close the text editor and if it ask if you want to save the changes click "yes".


Additionally you will need to find a help file (file with a .hlp extension) and put it in the "winboard" folder where the makefile.gcc file is located. Do a search on your computer and you should be able to easily locate a .hlp file. You can use any other programs help file it does not matter, when compiling the source files a .hlp file just needs to be sensed in the folder.

Other's may give other advice but the above works for me. What your above graphic shows I have seen before, and what I have described is how I overcome it.

Alternatively you could just download and install Microsoft Help Workshop 4.03.

Jaap
http://www.weidchess.com/
Jaap Weidemann
 
Posts: 18
Joined: 11 Aug 2006, 21:34
Location: Stellenbosch, South Africa

Previous

Return to WinBoard development and bugfixing

Who is online

Users browsing this forum: No registered users and 6 guests