develooper Front page | perl.perl5.porters | Postings from February 2003

Re: Cygwin smoke

From:
alian
Date:
February 25, 2003 04:32
Subject:
Re: Cygwin smoke
Message ID:
3E5B6233.9040408@cpan.org
>>>>    lib/Test/Harness/t/strap-analyze.....FAILED at test 2
>>>>    lib/warnings.........................FAILED at test 414
>>>>../lib/Test/Harness/t/strap-analyze....dubiousD. FAILED test 2

>>I think I find something ...
>>I find a shortcut to see them:
>>PERLIO=perlio ./perl -Ilib lib/warnings.t
>>...
>>ok 412
>>ok 413
>>...
>>EXPECTED:
>>Insecure dependency in chdir while running with -T switch at - line 5.
>>GOT:
>>Insecure dependency in chdir while running with -T switch at - line 5.
>>not ok 414
>>...
>>
>>It's very strange as perlio is the default for perl-5.9 no ?
> 
> No, "-Duseperlio" is now default for Configure in perl-5.9, and -Uuseperlio is
> unofficially unsupported

It's what I want say. "perlio is the default" == "-Duseperlio is default".

> I've bugged Schwern with such long time ago, but he didn't see where. So if
> you can supply the patch, I guess he would be willing to apply :)

Here a solution for Test-Smoke-1.16_20, who can be found here:

--- mktest.pl.orig      Tue Feb 25 13:08:12 2003
+++ mktest.pl   Tue Feb 25 13:08:59 2003
@@ -334,6 +334,7 @@
              if ( $perlio ne 'locale' ) {
                  $ENV{PERLIO} = $perlio;
                  is_win32 and $ENV{PERLIO} .= " :crlf";
+                $^O eq 'cygwin' and $ENV{PERLIO} .= " :crlf";
                  $ENV{LC_ALL} = 'C' if $force_c_locale;
              } else {
                  $ENV{PERL_UNICODE} = 1;


>>I presume that Cygwin build use a default value of perlio :crlf as make 
 >
> No.
> 
>>test didn't fail in command line without setting this var.

But (with -Duseperlio):
- it work with PERLIO=stdio :crlf or PERLIO=perlio :crlf
- it doesn't work with PERLIO=stdio or PERLIO=perlio
- it work in command line with a simple make test without setting PERLIO.

It's why I say it's the default, else make test in command line will fail.

>>(Why perl didn't set $ENV{PERLIO} to his real value ?)
> 
> cygwin != win32. If you install cygwin in binmode, it should emulate `real'
> unix, so hoop-jumps /should/ not be needed.

Yes should. Not must. See next.

>>So in this case, I think we must use for cygwin smoke layers ('stdio', 
>>'perlio :crlf')  as for win32 smoke.
> 
> again, cygwin != win32, and let's hope it stays that way.

Ok. But there is problem as Perl give \r when it display warnings even 
if CYGWIN=binmode is set.

>>Else I see in log file a lot of (like 200):
>>Use of uninitialized value in concatenation (.) or string at 
>>../lib/CGI.pm line 3459
> 
> 
> Can you try Yitzchak's patch:
> 
> --- perl/lib/CGI.pm.orig	Thu Jan 16 13:25:44 2003
> +++ perl/lib/CGI.pm	Wed Feb 19 13:35:50 2003
> @@ -149,7 +149,7 @@
>  # The path separator is a slash, backslash or semicolon, depending
>  # on the paltform.
>  $SL = {
> -       UNIX=>'/', OS2=>'\\', EPOC=>'/',
> +       UNIX=>'/', OS2=>'\\', EPOC=>'/', CYGWIN=>'/',
>         WINDOWS=>'\\', DOS=>'\\', MACINTOSH=>':', VMS=>'/'
>      }->{$OS};
>  
> End of Patch.

It's ok, I test it and warning go away.

Regards,
--
Alain BARBET




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About