Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Compile crafty 19.7 fails (make linux-i686)

Author: Robert Hyatt

Date: 09:56:50 12/13/03

Go up one level in this thread


On December 13, 2003 at 12:06:00, Martin Andersen wrote:

>On December 13, 2003 at 10:59:28, Robert Hyatt wrote:
>
>
>>
>>Look for the profile: in the Makefile, and look at the two make
>>commands, one at the front of all the epd positions, and one after.  Make
>>the first one do a make linux-i686-profile, and the last a make linux-i686.
>>
>>Make sure that the make linux-i686-profile has the -fprofile-arcs option,
>>as that produces the .da files.
>>
>>I'll look at this, but I had probably screwed it up in testing the various
>>compilers recently when fooling around on the AMD machine.
>>
>
>
>
>Not sure what you mean.
>I removed -fbranch-probabilities, and these are the linux-i686 and
>linux-686-profile, found close together in the Makefile:
>
>
>linux-i686:
>        $(MAKE) target=LINUX \
>                CC=gcc CXX=g++ \
>                CFLAGS='$(CFLAGS) -Wall -pipe -D_REENTRANT -march=i686 -O3 \
>                 -fforce-mem -fomit-frame-pointer \
>                        -fno-gcse -mpreferred-stack-boundary=2' \
>                CXFLAGS=$(CFLAGS) \
>                LDFLAGS='$(LDFLAGS) -lpthread -lstdc++' \
>                opt='$(opt) -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS \
>                     -DUSE_ASSEMBLY_A -DUSE_ASSEMBLY_B -DFAST \
>                     -DSMP -DCPUS=4 -DDGT -DTRACE' \
>                asm=X86.o \
>                crafty-make
>
>linux-i686-profile:
>        $(MAKE) target=LINUX \
>                CC=gcc CXX=g++ \
>                CFLAGS='$(CFLAGS) -Wall -pipe -D_REENTRANT -march=i686 -O3 \
>                        -fprofile-arcs -fforce-mem \
>                        -fno-gcse -mpreferred-stack-boundary=2' \
>                CXFLAGS=$(CFLAGS) \
>                LDFLAGS='$(LDFLAGS) -fprofile-arcs -lstdc++ -lpthread' \
>                opt='$(opt) -DCOMPACT_ATTACKS -DUSE_ATTACK_FUNCTIONS \
>                     -DUSE_ASSEMBLY_A -DUSE_ASSEMBLY_B -DFAST \
>                     -DSMP -DCPUS=4 -DDGT' \
>                asm=X86.o \
>                crafty-make
>
>
>Now it doesn't say iterate.da not found, but still:
>
>iterate.c: In function `Iterate':
>iterate.c:199: error: `pthread_attr' undeclared (first use in this function)
>iterate.c:199: error: (Each undeclared identifier is reported only once
>iterate.c:199: error: for each function it appears in.)
>make[2]: *** [iterate.o] Error 1
>
>
>Thanks.
>
>Martin.


If you are compiling for a multiple-cpu machine, you need to add -DPOSIX
to do everything right for posix threads.  If you are running on Linux and
don't want to use posix threads (it is broken in older versions) then you
can use -DCLONE instead.  If you only have one cpu, get rid of the -DSMP
and -DCPUS=4 options and you won't need the posix threads stuff at all
and the error will go away.





This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.