Hi guys, I'm trying to compile an open source program (chess and chess variant engine) under linux but for some reason it doesn't work. I know almost nothing regarding programming so I don't know how to fix the problem. In a chess server I asked some programmers if they knew how to fix the problem and only one could "solve" the problem, but he doesn't want to share his code. He told me he had to tweak the Makefile to allow obsolete compilation or something like that. He said that the code of the program is very archaic, etc. I posted the code in github, as well as the error I'm getting when I try to compile in a programming forum. But I've received no reply so far. I'm getting desperate to get this program running. So if you can find how to fix the compilation problem, I'd be very happy. Here's the full code: https://github.com/arbolis/Sunsetter-crazyhouse [Broken] Here's my post on another forum that explains more details about the error: http://www.programmersheaven.com/mb...in-c++-wont-compile-in-linux/?S=B20000#433564. The Makefile by the way is Code (Text): # 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. # CFLAGS = -O3 -DNDEBUG # # 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. clean: rm $(OBJECTS) # a general purpose dependancy for makeing .o files from .cpp files .cpp.o: 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 $@ in case if you notice something strange. Thanks for any help.