Computer Chess Club Archives


Search

Terms

Messages

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

Author: Roy Brunjes

Date: 10:46:40 12/13/03

Go up one level in this thread


On December 13, 2003 at 12:56:50, Robert Hyatt wrote:

>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.

Bob,

Your suggestions worked for me.  Removing -DSMP and -DCPUS=4 from my linux-i686
target worked!

Thanks for your help!

Roy



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.