Mail Archives: cygwin/2002/10/16/14:07:33
------=_NextPart_000_000D_01C27515.2BA26060
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
>On Wed, Oct 16, 2002 at 03:18:52AM -0500, Gary R. Van Sickle wrote:
>>> Also, Gary, you might want to try the most recent snapshot. I kludged
>>> around some similar problems with rxvt and X. Maybe I got lucky and
>>> fixed some problems with perl.
>>
>>
>>No such luck with 20021016 00:57:28. Sorry.
>
>Can you give me the specific application that failed? As I >mentioned, I
>couldn't duplicate the problem.
I'm seeing it with both autoconf and with a simple LOC counter script I
wrote (attached). With autoconf I see this:
c:\unix\bin\perl.exe: *** unable to remap
c:\unix\lib\perl5\5.8.0\cygwin-multi-64int\auto\Cwd\Cwd.dll to same address
as parent(0x460000) != 0xE60000
5 [main] perl 3436 sync_with_child: child 112(0x710) died before
initialization with status code 0x1
2661 [main] perl 3436 sync_with_child: *** child state child loading dlls
c:\unix\bin\perl.exe: *** unable to remap
c:\unix\lib\perl5\5.8.0\cygwin-multi-64int\auto\Cwd\Cwd.dll to same address
as parent(0x460000) != 0xE60000
5052719 [main] perl 3436 sync_with_child: child 3504(0x6F8) died before
initialization with status code 0x1
5059954 [main] perl 3436 sync_with_child: *** child state child loading dlls
c:\unix\bin\perl.exe: *** unable to remap
c:\unix\lib\perl5\5.8.0\cygwin-multi-64int\auto\Cwd\Cwd.dll to same address
as parent(0x460000) != 0xE60000
10098035 [main] perl 3436 sync_with_child: child 2736(0x6E4) died before
initialization with status code 0x1
10098175 [main] perl 3436 sync_with_child: *** child state child loading
dlls
[etc...]
With the attached script I see this (cd to a directory tree with some C
source code in it first):
$ ~/loc
Scanning /home/grvs/src/dxp1000/Firmware for applicable files...
c:\unix\bin\perl.exe: *** unable to remap
c:\unix\lib\perl5\5.8.0\cygwin-multi-64int\auto\List\Util\Util.dll to same
address as parent(0x460000) != 0xE60000
6 [main] perl 3184 sync_with_child: child 1632(0x71C) died before
initialization with status code 0x1
8569 [main] perl 3184 sync_with_child: *** child state child loading dlls
[etc...]
--
Gary R. Van Sickle
Braemar Inc.
11481 Rupp Dr.
Burnsville, MN 55337
------=_NextPart_000_000D_01C27515.2BA26060
Content-Type: application/octet-stream;
name="loc"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="loc"
#!/bin/perl -w
use File::Find;
use Time::localtime;
use Cwd;
use strict;
# Constants
my $FILES_PER_GREP=3D50;
my $ALL_FILES=3D"";
my @FILENAMES_C_CPP_H;
my @FILENAMES_CONFIGURE_MAKEFILE;
my $TOTAL_NUM_FILES=3D0;
my $NUM_FILES=3D0;
my $NUM_NEW_FILES=3D0;
my $LOC=3D0;
my $LOT=3D0;
my $LOCOM=3D0;
my $ELAPSED_TIME=3Dtime;
my $ROOT_DIR;
if(defined($ARGV[0]))
{
$ROOT_DIR =3D $ARGV[0];
}
else
{
$ROOT_DIR =3D getcwd;
=09
}
sub ScanCFiles
{
my $file;
foreach $file (@_)
{
$file =3D~ tr/\n//d;
open FILE, $file or die "Can't open $file: $!\n";
for(<FILE>)
{
# Lines of text
$LOT++;
# Lines of code
$LOC +=3D tr/;#//;
# Lines of comments
if(m,//, || m,/\*, || m,\*/,)
{
$LOCOM++;
}
} =09
close FILE;
}
}
sub ScanConfigAndMakeFiles
{
my $file;
foreach $file (@_)
{
$file =3D~ tr/\n//d;
open FILE, $file or die "Can't open $file: $!\n";
for(<FILE>)
{
# Lines of text
$LOT++;
# Lines of code
if(!m,^#|^dnl|^\n,)
{
$LOC++;
}
# Lines of comments
if(m,^#|^dnl,)
{
$LOCOM++;
}
} =09
close FILE;
}
return;
}
sub min
{
my $foo;
my $min =3D shift(@_);
foreach $foo (@_)
{
$min =3D $foo if $min > $foo;
}
return $min;
}
sub PrintProgress
{
my $percent;
=09
$percent =3D 100.0*$_[0]/$_[1];
printf "\rPercent complete: %5.1f%%", $percent;
}
# Make sure the % complete indicator gets autoflushed.
my $old_fh =3D select(STDOUT);
$| =3D 1;
select($old_fh);
print "Scanning ", $ROOT_DIR, " for applicable files...\n";
# Get the total number of files, for percent complete indication
@FILENAMES_C_CPP_H=3D`find $ROOT_DIR \\( -iname '*.c' -o -iname '*.cpp' =
-o -iname '*.cc' -o -iname '*.h' \\) -printf '%p\n'`;
@FILENAMES_CONFIGURE_MAKEFILE=3D`find $ROOT_DIR \\( -iname =
'configure.in' -o -iname 'makefile.am' \\) -printf '%p\n'`;
$TOTAL_NUM_FILES=3Dint(@FILENAMES_C_CPP_H)+int(@FILENAMES_CONFIGURE_MAKEF=
ILE);
print "Scanning files in ", $ROOT_DIR, " for linecounts...\n";
PrintProgress(0,$TOTAL_NUM_FILES);
# Get line counts
my $i;
my $names;
my $files_this_time;
my $files_completed =3D 0;
for($i=3D0; $i<int(@FILENAMES_C_CPP_H); $i+=3D$FILES_PER_GREP)
{
# Pass only $FILES_PER_GREP at a time to the grep
# command line, otherwise things don't work well.
$files_this_time =3D min($FILES_PER_GREP, int(@FILENAMES_C_CPP_H)-$i);
ScanCFiles(@FILENAMES_C_CPP_H[$i..$i+$files_this_time-1]);
$files_completed +=3D $files_this_time;
PrintProgress($files_completed,$TOTAL_NUM_FILES);
}
for($i=3D0; $i<int(@FILENAMES_CONFIGURE_MAKEFILE); =
$i+=3D$FILES_PER_GREP)
{
# Pass only $FILES_PER_GREP at a time to the grep
# command line, otherwise things don't work well.
$files_this_time =3D min($FILES_PER_GREP, =
int(@FILENAMES_CONFIGURE_MAKEFILE)-$i);
=
ScanConfigAndMakeFiles(@FILENAMES_CONFIGURE_MAKEFILE[$i..$i+$files_this_t=
ime-1]);
$files_completed +=3D $files_this_time;
PrintProgress($files_completed,$TOTAL_NUM_FILES);
}
print "\n";
$ELAPSED_TIME=3Dtime-$ELAPSED_TIME;
printf "\nStatistics for ".$ROOT_DIR." (%d-%.2d-%.2d)\n", =
localtime->year+1900, localtime->mon+1, localtime->mday;
print "Elapsed time: ", $ELAPSED_TIME, " seconds\n";
print "Total number of source files: ", $TOTAL_NUM_FILES, "\n";
print "Total number of C/C++/H files: ", int(@FILENAMES_C_CPP_H), =
"\n";
print "Total number of IN/AM files: ", =
int(@FILENAMES_CONFIGURE_MAKEFILE), "\n";
printf "Lines of text: %d\t\t(%2.1f lines/file)\n", =
int($LOT), $LOT/$TOTAL_NUM_FILES;
printf "Lines of code: %d\t\t(%2.1f%% of lines)\n", =
int($LOC), 100.0*$LOC/$LOT;
printf "Lines of comments: %d\t\t(%2.1f%% of lines)\n", =
int($LOCOM), 100.0*$LOCOM/$LOT;
------=_NextPart_000_000D_01C27515.2BA26060
Content-Type: text/plain; charset=us-ascii
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
------=_NextPart_000_000D_01C27515.2BA26060--
- Raw text -