delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/10/16/14:07:33

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
From: "Gary R Van Sickle" <tiberius AT braemarinc DOT com>
To: "Cygwin Mailing List \(E-mail\)" <cygwin AT sources DOT redhat DOT com>
Subject: Re: Remap problems with Perl 5.8 and 1.3.13-2
Date: Wed, 16 Oct 2002 13:08:49 -0500
Message-ID: <000c01c2753f$14786860$2101a8c0@BRAEMARINC.COM>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Importance: Normal
Note-from-DJ: This may be spam

------=_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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019