Compiling the latest version of Sunsetter (2004)

Everything what does not fit in the other forums. Chess related or not, trivial or sophisticated, but keep it civilized and respect others please.

Moderator: Andres Valverde

Compiling the latest version of Sunsetter (2004)

Postby velocidrom » 24 Sep 2013, 21:53

Hi guys,
I'm having troubles in compiling Sunsetter's latest version (the one by Angrim). I have posted the full code in github ( but it won't compile under my computer. I have Ubuntu 12.04 64 bits and my compiler is gcc 4.8.1.
A programmer could compile it on his computer after a small tweak in the Makefile, but he doesn't want to share his code. He said he had to allow the compilation of obsolete construct. As I am no programmer, I have almost no idea what he means.
I've posted this problem on 2 other forums so far but I either get no reply at all, or the suggestions don't work. But at least I think I know what is the problem thanks to some reply I got.
Basically here is the Makefile:
Code: Select all
# Makefile to build sunsetter for linux.
# -Wall turns on full compiler warnings, only of interest to developers
# -O1 turns on optimization at a moderate level.
# -O3 turns on optimization at the highest level. (confuses the debugger though)
# -g turns on debugging data in the executable.
# -DNDEBUG turns off assert() debugging in the code
# CFLAGS for a "release" built, no debugging and highly optimized.
# uncomment this line to build a debug version.
# need to type "make clean;make" to get the full effect
# CFLAGS = -Wall -g -O1 -DDEBUG
# or this one for a "light debug" version which works well with gdb
# but is otherwise like the release version.
CFLAGS = -Wall -g -O1 -DNDEBUG
# set of flags that produces the best speed on Angrim's
# Athlon Thunderbird with gcc version egcs-2.91.66
# CFLAGS = -O3 -march=i486 -DNDEBUG

OBJECTS = aimoves.o bitboard.o board.o book.o bughouse.o evaluate.o moves.o search.o capture_moves.o check_moves.o interface.o notation.o order_moves.o partner.o quiescense.o tests.o transposition.o validate.o

# sunsetter is the default target, so either "make" or "make sunsetter" will do
sunsetter: $(OBJECTS) Makefile
g++ $(CFLAGS) $(OBJECTS) -o sunsetter

# so "make clean" will wipe out the files created by a make.

# a general purpose dependancy for makeing .o files from .cpp files
g++ $(CFLAGS) -c $<

# more detailed dependancies below for a few critical files

aimoves.o: aimoves.cpp definitions.h variables.h board.h brain.h interface.h
g++ $(CFLAGS) -c aimoves.cpp -o $@

board.o: board.cpp board.h brain.h interface.h definitions.h bughouse.h \
variables.h notation.h
g++ $(CFLAGS) -c board.cpp -o $@

bitboard.o: bitboard.cpp board.h bughouse.h interface.h brain.h
g++ $(CFLAGS) -c bitboard.cpp -o $@

bughouse.o: bughouse.cpp variables.h definitions.h board.h interface.h bughouse.h brain.h
g++ $(CFLAGS) -c bughouse.cpp -o $@

evaluate.o: evaluate.cpp brain.h board.h evaluate.h interface.h
g++ $(CFLAGS) -c evaluate.cpp -o $@

interface.o: interface.cpp interface.h variables.h notation.h bughouse.h brain.h board.h
g++ $(CFLAGS) -c interface.cpp -o $@

I believe the problems is in the first non commented line. I must modify it to allow obsolete construct... but I don't know what to write exactly. I tried many things, like for example
Code: Select all
CFLAGS = -fpermissive -O3 -march=x86-64 -DNDEBUG
but this returns the error
Code: Select all
g++ -fpermissive -O3 -march=x86-64 -DNDEBUG -c aimoves.cpp -o aimoves.o
In file included from aimoves.cpp:19:0:
board.h:740:21: warning: extra qualification ‘boardStruct::’ on member ‘getColorOnMove’ [-fpermissive]
board.h:754:21: warning: extra qualification ‘boardStruct::’ on member ‘getColorOffMove’ [-fpermissive]
In file included from brain.h:20:0,
                 from aimoves.cpp:20:
interface.h:33:14: error: expected initializer before ‘output’
make: *** [aimoves.o] Error 1
If you can compile it, please let me know what you did... I am desperate and my friend suggested me to post it here (as well as talkchess but so far I can't seem to register there).
As soon as I know how to compile it, I'll modify the code in github and explain what people must modify if the compile doesn't work.
Thank you very much for any help!
Posts: 44
Joined: 25 Sep 2012, 01:20

Re: Compiling the latest version of Sunsetter (2004)

Postby Charles Browne » 25 Sep 2013, 14:53

velocidrom wrote:(as well as talkchess but so far I can't seem to register there).

I was going to suggest Talkchess, too. When registering on Talkchess you do need to use a real name, first and last.

You might try contacting Julien Marcel, one of the current Talkchess moderators, to see if he can get in contact with anyone about your registration.

Julien's email address can be found in the readme file of his Prédateur chess engine; Which can be downloaded at this address:
Charles Browne
Posts: 209
Joined: 26 May 2008, 00:30

Return to Anything else

Who is online

Users browsing this forum: No registered users and 1 guest