gnugo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gnugo-devel] Current CVS VC build crashes


From: Trevor Morris
Subject: Re: [gnugo-devel] Current CVS VC build crashes
Date: Sat, 23 Feb 2002 10:20:48 -0500

I believe all of the trouble Arend had with regress.pl was because
he's not using Perl 5.6.

Arend is using:
/usr/bin/perl --version:
This is perl, version 5.005_03 built for i586-linux

I've tested it with:
This is perl, v5.6.1 built for cygwin-multi
  (comes w/ cygwin)

This is perl, v5.6.1 built for MSWin32-x86-multi-thread
  (ActiveState Perl)

-Trevor  

>>  - "use warnings" doesn't work:
>> Can't locate warnings.pm in @INC (@INC contains:
>>     /usr/lib/perl5/5.00503/i586-linux /usr/lib/perl5/5.00503
>>     /usr/lib/perl5/site_perl/5.005/i586-linux /usr/lib/perl5/site_perl/5.005 
>> .)
>> at ./regress.pl line 47.
>> BEGIN failed--compilation aborted at ./regress.pl line 47.
>> 
>> I uncommented this line.
>
>I think   use warnings;   is a perl 5.6-ism.
>Equivalent to adding -w to the hash-bang line
>
>#!/usr/bin/perl -w

The following perl scripts also "use warnings" :
./interface/GoImage/Stone.pm:use warnings;
./interface/gtp_examples/sgf2tst:use warnings;
./interface/gtp_examples/twogtp-a:use warnings;

>> 
>>  - mkdir needs second umask-type argument ( "mkdir html,022" )
>
>Yes, 2nd arg is optional on activeperl for windows, required for
>portable perl. 0775 is the usual value used, I think (want the
>value, not a mask)

In Perl 5.6, the directory permission is optional with a default
of 0777.

>>  - after fixing this, I get 
>> 
>> Global symbol "$curdir" requires explicit package name at ./regress.pl line 
>> 855.
>> Global symbol "$curfile" requires explicit package name at ./regress.pl line
>> 856.
>> Global symbol "$CURDIR" requires explicit package name at ./regress.pl line 
>> 857.
>> Execution of ./regress.pl aborted due to compilation errors.
>
>
>Quick fix is to take out a 'use strict' line at the top (assuming there is one)
>
>Better fix is to declare them as 'my' variables.
>
>my $curdir;
>my $curfile;

I don't think this will work here.  These are used in a recursive function,
using the "our" and "local" keywords, which, apparently, only work with
Perl 5.6.  If they're defined with "my", they will get recursively clobbered.

>>  - after uncommenting these lines and the block following them, I get:
>> 
>> regress.pl --goprog '../interface/gnugo --mode gtp --quiet' \
>>   strategy.tst --verbose 2
>> Go program: ../interface/gnugo --mode gtp --quiet
>> goprog pid: 1456
>> CMD:name
>> CMD:version
>> Name: GNU Go 3.1.25
>> regressing file strategy.tst
>> strategy.tst
>> goprog pid: 1457
>> CMD:reset_life_node_counter
>> CMD:reset_owl_node_counter
>> CMD:reset_reading_node_counter
>> CMD:reset_trymove_counter
>> Can't use an undefined value as a symbol reference at ./regress.pl line 347,
>> <GEN7> chunk 8.
>
>possibly a result of removing a block of code..?
More likely, this is another 5.6 incompatibility.

-Trevor




reply via email to

[Prev in Thread] Current Thread [Next in Thread]