Subject: Re: Is perl-5.8.2 canonized for use on cygwin yet?
From: "Gerrit P. Haase" <[email-masked]>
To: "Blair P. Houghton" <[email-masked]>
Cc: [email-masked]
Date: Mon, 29 Dec 2003 21:38:05 +0100

Hallo Blair,

Am Montag, 29. Dezember 2003 um 04:51 schriebst du:

> I think I've found the problem.

> By more careful use of the -d=flags option to make, I traced it
> down to the second of two "subdirs"
> targets, and then turned off the NOECHO command (by taking it out
> of the script line in the Makefile
> under the second subdirs target).

> Then, making only in the .../ext/B directory (as Yitzchak
> suggested), I got this output: 

>   % make -f Makefile all
>   cd C && make -f Makefile all LIB="C:\Program Files\Microsoft Visual Studio
> .NET\Vc7\lib\;C:\Program Files\Microsoft.NET\FrameworkSDK\Lib\" LIBPERL_A="libperl"
> LINKTYPE="dynamic" PREFIX="" OPTIMIZE="-O2" PASTHRU_DEFINE="" PASTHRU_INC=""
>   Syntax error: Unterminated quoted string
>   make: *** [subdirs] Error 2

> Note the LIB variable.  It's not the spaces that are glaring,
> it's that trailing backslash before the closing double-quote.  Leave
> it to Microsoft to confuse a path with a string that is part of the
> computation of a path (they shoulda left the last slash off; it's
> only there as step-saving cruft for some string catenation that
> would probably be better written to do the slash insertion itself 
> anyway; lamers).

> LIB comes from the calling shell environment, which is a default
> xterm running bash under XFree86.

> So here's the question:

> What sets LIB in the cygwin environment?  It comes verbatim from the
> DOS environment list but I don't see the importation in any of the
> layered rc files (but I could've missed it).  And is there a way to
> automatically make cygwin translate these paths from backslash to
> forward slash when importing? You'd think that would be the default.
>  Is there a way to suppress all importation or all but a list of
> explicitly named variables?  Obviously I can exclude some by
> redefining them in the bashrc files, but what I'd rather do is
> exclude all except those I want included, in case some software
> installs new ones.

LIB isn't used by Cywin, but it is used by Perl.  Just unset it before
the build, it is not needed.

> It occurs to me that if these environment variables are simply
> imported by the fork that spawns cygwin, that's an insecurity
> (although, as others have noted, if the calling context is already
> insecure, cygwin is hardly the place to expect an extra layer of
> armor). 

All Windows environment settings are visible to system processes,
Cygwin just overwrites the ones it uses, LIB isn't used, so overwrite
it yourself, e.g. in cygwin.bat or in your .bashrc or whatever shell
you're using.

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/