Skip Menu |

This queue is for tickets about the PAR-Packer CPAN distribution.

Report information
The Basics
Id: 58357
Status: resolved
Priority: 0/
Queue: PAR-Packer

People
Owner: Nobody in particular
Requestors: yangqingqing [...] fudan.edu.cn
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: maybe a bug of par
Date: Sun, 13 Jun 2010 19:37:47 +0800
To: "bug-par" <bug-par [...] rt.cpan.org>
From: "杨庆庆" <yangqingqing [...] fudan.edu.cn>
bug-par,您好! Today I tried to install par::packer module, and my system is windows xp. And I followed these instructions: perl makefile.pl nmake then there comes errors as follows: mktmpdir.c(179) : warning C4013: 'strcasecmp' undefined; assuming extern returnng int main.c(115) : error C2143: syntax error : missing ';' before 'type' main.c(116) : error C2065: 'argno' : undeclared identifier NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\VC98\bin\ MAKE.EXE"' : return code '0x2' Stop. Then I got to known that 'strcasecmp' is not a function for windows, but for linux. And in myldr/mktmpdir.c file are the lines: #ifdef WIN32 #define STREQ(a,b) (strcasecmp(a,b) == 0) #else #define STREQ(a,b) (strcmp(a,b) == 0) #endif So I want to ask if this is a bug or something else? And another bug is in myldr/main.c, at line 115. The statement " int argno = 0;" should be put at the beginning of the main function.         致 礼!         杨庆庆         yangqingqing@fudan.edu.cn           2010-06-13
On 2010-06-13 07:38:22, yangqingqing@fudan.edu.cn wrote: Please state: - the version of Perl you're using (and on Windows: ActiveState or Strawberry or ...) - the version of PAR::Packer Show quoted text
> mktmpdir.c(179) : warning C4013: 'strcasecmp' undefined; assuming > extern returnng int > main.c(115) : error C2143: syntax error : > missing ';' before 'type' > main.c(116) : error C2065: 'argno' : > undeclared identifier > NMAKE : fatal error U1077: 'cl' : return code > '0x2' > Stop. > NMAKE : fatal error U1077: '"C:\Program > Files\Microsoft Visual Studio\VC98\bin\ > MAKE.EXE"' : return code > '0x2' > Stop.
Looks like you have an ancient toolchain - what version of Microsoft Visual Whatever is this? Anyway, given a recent C compiler and/or the correct options, none of the above are actual errors. Note that you can also use the MingW toolchain to build PAR::Packer (and other Perl XS modules). Cheers, Roderich
Subject: Re: [rt.cpan.org #58357] maybe a bug of par
Date: Tue, 15 Jun 2010 13:35:20 +0800
To: "bug-PAR-Packer" <bug-PAR-Packer [...] rt.cpan.org>
From: "杨庆庆" <yangqingqing [...] fudan.edu.cn>
RSCHUPP via RT,您好! My toolchain is microsoft visual studio 6.0 The platform is windows xp2 And version of perl is 5.10.0. I build the perl from source, so I don't known if it is activestate or strawberry... And the version of PAR::Packer is 1.005. ======= 2010-06-15 02:34:16 您在来信中写道:======= Show quoted text
><URL: https://rt.cpan.org/Ticket/Display.html?id=58357 > > >On 2010-06-13 07:38:22, yangqingqing@fudan.edu.cn wrote: > >Please state: >- the version of Perl you're using (and on Windows: ActiveState > or Strawberry or ...) >- the version of PAR::Packer >
>> mktmpdir.c(179) : warning C4013: 'strcasecmp' undefined; assuming >> extern returnng int >> main.c(115) : error C2143: syntax error : >> missing ';' before 'type' >> main.c(116) : error C2065: 'argno' : >> undeclared identifier >> NMAKE : fatal error U1077: 'cl' : return code >> '0x2' >> Stop. >> NMAKE : fatal error U1077: '"C:\Program >> Files\Microsoft Visual Studio\VC98\bin\ >> MAKE.EXE"' : return code >> '0x2' >> Stop.
> > >Looks like you have an ancient toolchain - what version >of Microsoft Visual Whatever is this? >Anyway, given a recent C compiler and/or the correct options, >none of the above are actual errors. >Note that you can also use the MingW toolchain to build >PAR::Packer (and other Perl XS modules). > >Cheers, Roderich
= = = = = = = = = = = = = = = = = = = =         致 礼!         杨庆庆         yangqingqing@fudan.edu.cn           2010-06-15
On 2010-06-15 01:35:45, yangqingqing@fudan.edu.cn wrote: Show quoted text
> My toolchain is microsoft visual studio 6.0
That toolchain is over 10 years old. Sorry, can't help you there, as I don't have it anymore. Maybe you can get help on the PAR mailing list (par@perl.org). Show quoted text
> And version of perl is 5.10.0.
Perl 5.10.0 is known NOT to work with PAR::Packer at all (the problem lies with Perl itself), any version before or after that should be fine. Show quoted text
> I build the perl from source, so I don't known if it is > activestate or strawberry...
Then it's "..." :) I strongly suggest to use a ready-made distribution like the one from ActiveState http://www.activestate.com/activeperl/downloads or Strawberry http://strawberryperl.com/ The latter even comes with a complete modern toolchain. Cheers, Roderich
Subject: Re: [rt.cpan.org #58357] maybe a bug of par
Date: Tue, 15 Jun 2010 21:38:07 +0800
To: "bug-PAR-Packer" <bug-PAR-Packer [...] rt.cpan.org>
From: "杨庆庆" <yangqingqing [...] fudan.edu.cn>
RSCHUPP via RT,您好! Thank you for your reply. I have modified some of the par::packer and installed that package. And I can also use the pp.bat to generate .exe files. But the generate .exe program runs very slow when it needs to interact with the command window, and even some error occurs when the .exe prints some information to the command window. So I guess maybe it's because my toolchain and perl's version are too old. Then I think I really need to update my toolchain and perl. :) ======= 2010-06-15 20:31:46 您在来信中写道:======= Show quoted text
><URL: https://rt.cpan.org/Ticket/Display.html?id=58357 > > >On 2010-06-15 01:35:45, yangqingqing@fudan.edu.cn wrote:
>> My toolchain is microsoft visual studio 6.0
> >That toolchain is over 10 years old. >Sorry, can't help you there, as I don't have it anymore. >Maybe you can get help on the PAR mailing list (par@perl.org). >
>> And version of perl is 5.10.0.
> >Perl 5.10.0 is known NOT to work with PAR::Packer at all >(the problem lies with Perl itself), any version before or after >that should be fine. >
>> I build the perl from source, so I don't known if it is >> activestate or strawberry...
> >Then it's "..." :) >I strongly suggest to use a ready-made distribution like >the one from ActiveState > >http://www.activestate.com/activeperl/downloads > >or Strawberry > >http://strawberryperl.com/ > >The latter even comes with a complete modern toolchain. > >Cheers, Roderich >
= = = = = = = = = = = = = = = = = = = =         致 礼!         杨庆庆         yangqingqing@fudan.edu.cn           2010-06-15
On 2010-06-15 09:38:26, yangqingqing@fudan.edu.cn wrote: Show quoted text
> use the pp.bat to generate .exe files. But the generate .exe > program runs very slow when it needs to interact with the command
Note that the first time you run a newly generated .exe there's a noticable delay (depends of course on how fast a machine you have) on startup. That's because the stuff packed into the .exe has to be first extracted into a cache area, then the actual script is run. On the second and further runs the cache area will be reused and startup time should be about the same as for the original script in unpacked form. However, after startup, there should be *no* difference in speed between a packed .exe and the original script. Show quoted text
> information to the command window. So I guess maybe it's because my > toolchain and perl's version are too old. Then I think I really > need to update my toolchain and perl. :)
Though Perl 5.10.x is still considered up-to-date :) It's just 5.10.0 that doesn't work with PAR::Packer, so 5.10.1 or higher are OK. Note that 5.10.0 may appear to work on your machine, the problems will show once you try to run a generated .exe on a another machine that either has no Perl installed at all or that has a different version installed than your machine. The other aspect of using a pre-build distribution is that you can expect that they got all the tiny bits correct when building Perl and that these bits are reflected in Config.pm. (At least, if they didn't get it right, we can easily reproduce the problem just by installing the distro.) If you build Perl yourself, you may not notice some errors in these tiny bits - your compile may still succeed, even running the Perl regression tests may show no errors. PAR::Packer is more susceptible for these kinds of errors than most other modules, because it actually builds a custom Perl interpreter. Anyway, I'll close this ticket. Feel free to open a new one if you have any problems with a recent distro.