Re: [rt.cpan.org #54074] PAR test fails a gui test with Win32/Exe.pm

2010-02-04 Thread Malcolm Nooning via RT
Wed Feb 03 17:40:08 2010: Request 54074 was acted upon.
Transaction: Correspondence added by m.noon...@comcast.net
   Queue: PAR-Packer
 Subject: Re: [rt.cpan.org #54074] PAR test fails a gui test with 
Win32/Exe.pm
   Broken in: 1.002
Severity: Normal
   Owner: Nobody
  Requestors: m.noon...@comcast.net
  Status: open
 Ticket https://rt.cpan.org/Ticket/Display.html?id=54074 >


Here is a fix for the "Can't call method "remove" on an undefined value 
" problem.

Change line 106 of myldr/Makefile.PL to what you see below.

} elsif ( ($cc =~ m/^gcc\b/i) or ($cc =~ m/\bgcc.exe\b/i) or ($cc =~ 
m/^cc\b/i and $gccversion)) {

This, along wiht Alexey's other patch for commenting out
 if ($Config{_delim} eq '\\') { s{\\}{/}g for @inc }

in script/par.pl, results in all tests passing on Windows XP, 
ActiveState 5.10.1.

Thanks




Re: [rt.cpan.org #54074] PAR test fails a gui test with Win32/Exe.pm

2010-02-04 Thread Ben Morrow
Quoth m.noon...@comcast.net (Malcolm Nooning):
> On 2/3/2010 3:54 PM, Alexey Borzenkov via RT wrote:
> > https://rt.cpan.org/Ticket/Display.html?id=54074>
> >
> > On Wed Feb 03 08:15:48 2010, m.noon...@comcast.net wrote:
> >
> >>   cc='C:/MinGW/bin/gcc.exe'
> >>  
> > Aha! You see, here's your problem. myldr/Makefile.PL checks for $cc
> being /^gcc\b/i and your
> > $cc clearly doesn't start with gcc. You need to either rebuild Perl so
> that cc is not absolute, or
> > ask Steffen Muller to check basename of $cc...

That's not the right solution either, since on my system (FreeBSD) I
have

cc='cc';

but it's still gcc. I believe that $Config{gccversion} is only defined
if we are using gcc, but you may need to check with Merijn/p5p.

Ben



Re: [rt.cpan.org #54074] PAR test fails a gui test with Win32/Exe.pm

2010-02-03 Thread Malcolm Nooning
Here is a fix for the "Can't call method "remove" on an undefined value 
" problem.


Change line 106 of myldr/Makefile.PL to what you see below.

} elsif ( ($cc =~ m/^gcc\b/i) or ($cc =~ m/\bgcc.exe\b/i) or ($cc =~ 
m/^cc\b/i and $gccversion)) {


This, along wiht Alexey's other patch for commenting out
if ($Config{_delim} eq '\\') { s{\\}{/}g for @inc }

in script/par.pl, results in all tests passing on Windows XP, 
ActiveState 5.10.1.


Thanks



Re: [rt.cpan.org #54074] PAR test fails a gui test with Win32/Exe.pm

2010-02-03 Thread Malcolm Nooning via RT
Wed Feb 03 16:44:49 2010: Request 54074 was acted upon.
Transaction: Correspondence added by m.noon...@comcast.net
   Queue: PAR-Packer
 Subject: Re: [rt.cpan.org #54074] PAR test fails a gui test with 
Win32/Exe.pm
   Broken in: 1.002
Severity: Normal
   Owner: Nobody
  Requestors: m.noon...@comcast.net
  Status: open
 Ticket http://rt.cpan.org/Ticket/Display.html?id=54074 >


You suggested writing to Steffen Muller to check the basename of $cc 
because, to restate the problem,  I cannot by hand do
 pp --gui --icon hi.ico -o hello.exe hello.pl
because my MinGW's cc is not /^gcc\b/i, which is what is looked for.  
This also causes the 31st of  the t/20-pp.t test file to fail, which is 
the same thing I am trying to do by hand above.

My cc is not necessarily gcc, either, as I use a Microsoft compiler 
sometimes, too.  I am sure others do, too.  Recompiling ActiveState perl 
to get a module to work does not seem the way to go.

Steffen, can you alter the Par::Packer code to check what cc is in use?  
My Windows XP ActiveState Perl 5.10.1 gets the error
Can't call method "remove" on an undefined value at 
C:/Perl/site/lib/Win32/Exe.pm line 220, as reported in the rt bug.

Thanks


On 2/3/2010 3:54 PM, Alexey Borzenkov via RT wrote:
> https://rt.cpan.org/Ticket/Display.html?id=54074>
>
> On Wed Feb 03 08:15:48 2010, m.noon...@comcast.net wrote:
>
>>   cc='C:/MinGW/bin/gcc.exe'
>>  
> Aha! You see, here's your problem. myldr/Makefile.PL checks for $cc being 
> /^gcc\b/i and your
> $cc clearly doesn't start with gcc. You need to either rebuild Perl so that 
> cc is not absolute, or
> ask Steffen Muller to check basename of $cc...
>
>



Re: [rt.cpan.org #54074] PAR test fails a gui test with Win32/Exe.pm

2010-02-03 Thread Malcolm Nooning
You suggested writing to Steffen Muller to check the basename of $cc 
because, to restate the problem,  I cannot by hand do

pp --gui --icon hi.ico -o hello.exe hello.pl
because my MinGW's cc is not /^gcc\b/i, which is what is looked for.  
This also causes the 31st of  the t/20-pp.t test file to fail, which is 
the same thing I am trying to do by hand above.


My cc is not necessarily gcc, either, as I use a Microsoft compiler 
sometimes, too.  I am sure others do, too.  Recompiling ActiveState perl 
to get a module to work does not seem the way to go.


Steffen, can you alter the Par::Packer code to check what cc is in use?  
My Windows XP ActiveState Perl 5.10.1 gets the error
Can't call method "remove" on an undefined value at 
C:/Perl/site/lib/Win32/Exe.pm line 220, as reported in the rt bug.


Thanks


On 2/3/2010 3:54 PM, Alexey Borzenkov via RT wrote:

https://rt.cpan.org/Ticket/Display.html?id=54074>

On Wed Feb 03 08:15:48 2010, m.noon...@comcast.net wrote:
   

  cc='C:/MinGW/bin/gcc.exe'
 

Aha! You see, here's your problem. myldr/Makefile.PL checks for $cc being 
/^gcc\b/i and your
$cc clearly doesn't start with gcc. You need to either rebuild Perl so that cc 
is not absolute, or
ask Steffen Muller to check basename of $cc...

   


Re: [rt.cpan.org #54074] PAR test fails a gui test with Win32/Exe.pm

2010-02-03 Thread Malcolm Nooning via RT
Tue Feb 02 08:21:09 2010: Request 54074 was acted upon.
Transaction: Correspondence added by m.noon...@comcast.net
   Queue: PAR-Packer
 Subject: Re: [rt.cpan.org #54074] PAR test fails a gui test with 
Win32/Exe.pm
   Broken in: 1.002
Severity: Normal
   Owner: Nobody
  Requestors: m.noon...@comcast.net
  Status: open
 Ticket https://rt.cpan.org/Ticket/Display.html?id=54074 >


 >To fix, open script/par.pl and remove the line that
 #if ($Config{_delim} eq '\\') { s{\\}{/}g for @inc }

Granted that this solves the problem with PodStrip.pm problem, there is 
still the problem in that the test cannot do
   pp --gui --icon hi.ico -o hello.exe hello.pl
I cannot do it by hand, either, as shown in the paste further below.  
Also, there is a weird parlu9ejbKb.exe, also shown below.  By the way, 
this is with Perl 5.10.1, mingw with gcc 3.4.5.

---Paste
C:\tmp>dir
02/02/2010  08:12 AM17 hello.pl
04/04/2007  04:25 PM 5,694 hi.ico

C:\tmp>pp --gui --icon hi.ico -o hello.exe hello.pl
Set up gcc environment - 3.4.5 (mingw special)

Can't call method "remove" on an undefined value at 
C:/Perl/site/lib/Win32/Exe.pm line 220.

C:\tmp>dir
02/02/2010  08:12 AM17 hello.pl
04/04/2007  04:25 PM 5,694 hi.ico
02/02/2010  08:14 AM 1,937,553 parlu9ejbKb.exe




Re: [rt.cpan.org #54074] PAR test fails a gui test with Win32/Exe.pm

2010-02-03 Thread Malcolm Nooning via RT
Wed Feb 03 08:15:48 2010: Request 54074 was acted upon.
Transaction: Correspondence added by m.noon...@comcast.net
   Queue: PAR-Packer
 Subject: Re: [rt.cpan.org #54074] PAR test fails a gui test with 
Win32/Exe.pm
   Broken in: 1.002
Severity: Normal
   Owner: Nobody
  Requestors: m.noon...@comcast.net
  Status: open
 Ticket https://rt.cpan.org/Ticket/Display.html?id=54074 >


perl -MWin32::Exe -e "print \"$Win32::Exe::VERSION\n\"
0.11

 > do parl.exe? parldyn.exe and static.exe have icons?
Yes, but, um, not special ones.  They show the same windows icons as any 
".exe" file.  For comparison purposes, they are the same as the icons 
that Windows gives C:\perl\bin\a2p, and C:\perl\bin\perlglob.
Same with  C:\temp\PAR-Packer-1.002\myldr\par is the same, too.

 > linked against win32.coff
How would I check for this?

C:\>perl -V
Set up gcc environment - 3.4.5 (mingw special)
Summary of my perl5 (revision 5 version 10 subversion 1) configuration:

   Platform:
 osname=MSWin32, osvers=5.00, archname=MSWin32-x86-multi-thread
 uname=''
 config_args='undef'
 hint=recommended, useposix=true, d_sigaction=undef
 useithreads=define, usemultiplicity=define
 useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
 use64bitint=undef, use64bitall=undef, uselongdouble=undef
 usemymalloc=n, bincompat5005=undef
   Compiler:
 cc='C:/MinGW/bin/gcc.exe', ccflags ='-DNDEBUG -DWIN32 -D_CONSOLE 
-DNO_STRICT -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC 
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO 
-DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -mms-bitfields',
 optimize='-O2',
 cppflags='-DWIN32'
 ccversion='', gccversion='3.4.5 (mingw special)', gccosandvers=''
 intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8
 ivtype='long', ivsize=4, nvtype='double', nvsize=8, 
Off_t='__int64', lseeksize=8
 alignbytes=8, prototype=define
   Linker and Libraries:
 ld='C:\MinGW\bin\g++.exe', ldflags ='-L"C:\Perl\lib\CORE"'
 libpth=\lib
 libs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 
-lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm 
-lversion -lodbc32 -lodbccp32 -lmsvcrt
 perllibs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 
-ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr 
-lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt
 libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl510.lib
 gnulibc_version=''
   Dynamic Linking:
 dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
 cccdlflags=' ', lddlflags='-mdll -L"C:\Perl\lib\CORE"'


Characteristics of this binary (from libperl):
   Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
 PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
 PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_ITHREADS
 USE_LARGE_FILES USE_PERLIO USE_SITECUSTOMIZE
   Locally applied patches:
 ActivePerl Build 1006 [291086]
 32728 64-bit fix for Time::Local
   Built under MSWin32
   Compiled at Aug 24 2009 13:48:26
   @INC:
 C:/Perl/site/lib
 C:/Perl/lib
 .

C:\>