This is the mail archive of the
mailing list for the Cygwin project.
RE: Is perl-5.8.2 canonized for use on cygwin yet?
- From: "Blair P. Houghton" <blair at houghton dot net>
- To: <cygwin at cygwin dot com>
- Date: Sun, 28 Dec 2003 20:51:12 -0700
- Subject: RE: Is perl-5.8.2 canonized for use on cygwin yet?
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
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.
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).
From: Yitzchak Scott-Thoennes [mailto:email@example.com]
Sent: Sunday, December 28, 2003 6:25 PM
Cc: Blair P. Houghton
Subject: Re: Is perl-5.8.2 canonized for use on cygwin yet?
On Tue, Dec 23, 2003 at 02:51:12AM -0800, Yitzchak Scott-Thoennes <firstname.lastname@example.org> wrote:
> On Mon, Dec 22, 2003 at 04:04:11PM -0700, "Blair P. Houghton" <email@example.com> wrote:
> > In the meantime I realized that 5.8.2 is newer than I
> > thought it was. Maybe I *am* the first to try to build
> > it on cygwin. Nah. Someone out there has seen this
> > before.
> Works for me. Please give output from /usr/src/perl-5.8.2/myconfig,
> make --version, and cygcheck -c make. If you mean you didn't use
> Configure with the -d switch (highly recommended), please also attach
> Feel free to email me directly and I'll try to help you.
No luck so far. I downgraded to the make that you are using, but it
still worked. Grasping at straws: What shell are you using? Where
did you get the perl source from? What does the ext/B/C/Makefile look
like? Does a manual "make -f Makefile all" in that directory give the
You may want to update your cygwin and see if that helps. I see you
are using 1.3.20 and gcc 3.2 20020927 (prerelease) vs. my 1.5.5 and
gcc 3.3.1 (cygming special) but I don't see how that would cause this
Oh, and please send the cygwin list cygcheck -s -v -r output as an
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html