delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/07/25/11:41:25

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/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
Message-ID: <42E507BD.8080508@familiehaase.de>
Date: Mon, 25 Jul 2005 17:39:41 +0200
From: "Gerrit P. Haase" <gerrit AT familiehaase DOT de>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
CC: Scott Bolte <listS+cygwin AT niss DOT com>, Michael G Schwern <schwern AT pobox DOT com>,
Andrew Ho <andrew AT tellme DOT com>, makemaker AT perl DOT org, perl5-porters AT perl DOT org,
petdance AT cpan DOT org
Subject: Re: [perl-5.8.7] Perl regression tests fail when lib directory is present
References: <200507222016 DOT j6MKGTXI053801 AT crag DOT niss DOT com> <20050722203850 DOT GG459 AT trixie DOT casa DOT cgf DOT cx>
In-Reply-To: <20050722203850.GG459@trixie.casa.cgf.cx>
X-IsSubscribed: yes

Christopher Faylor wrote:
> On Fri, Jul 22, 2005 at 03:16:29PM -0500, Scott Bolte wrote:
> 
>>On Thu, 21 Jul 2005 00:14:51 -0700, Michael G Schwern wrote:
>>
>>> 
>>>Its gotta be something about _default_inc().  Nothing looks wrong from
>>>here.  My only guess is that local $ENV{PERL5LIB} is ineffective.  That
>>>would account for the alternation.
>>
>>	It's not just the local scoping. There is something
>>	seriously unexpected with environment variables, perl
>>	and cygwin.
>>
>>		----- th4.pl
>>		#!/usr/bin/perl
>>		use strict;
>>		use warnings;
>>		 
>>		$ENV{SHOULD_NEVER_BE_SEEN} = "hello world";
>>		delete($ENV{SHOULD_NEVER_BE_SEEN});
>>		system("printenv | grep SHOULD_NEVER_BE_SEEN");
>>
>>	On UNIX systems that script properly prints nothing. Not so
>>	on my cygwin (on top of XP) system:
>>
>>		cygwin% perl ~/th4.pl
>>		SHOULD_NEVER_BE_SEEN=hello world
>>
>>	It seems to imply that the results of unsetenv(3) are not
>>	persistent across an exec(2).
> 
> 
> ....or that perl isn't using unsetenv, since AFAICT, unsetenv() is operating
> as it should for both cygwin and non-cygwin processes.
> 
> This was a standard problem way way back when I was maintaining my own
> version of perl for cygwin (since cygwin didn't include perl).  There was
> special code in perl to deal with cygwin's environment, IIRC.  Maybe it's
> broken in 5.8.7.
> 
> cgf

Indeed, I see no unsetenv() in the perl sources.

Since it seems that the problem is independent of TH the problem should
be located in perl itself.  I'll try with a recent devel version to see
if it fails here too.  Scott, have you tried te above script with other
(older) versions of Cygwin perl too?  Since TH works with perl-5.8.6 I
suspect some of the changes integrated into maint perl to be problematic
for Cygwin, however it may also be an older bug in Cygwin perl.


Gerrit

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


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