Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Missing perl516.dll on running packed executables with Strawberry Perl 5.16.1

194 views
Skip to first unread message

Dave Sedar

unread,
Sep 28, 2012, 6:05:35 AM9/28/12
to p...@perl.org
The packed program runs fine on my development computer (Vista Business SP2 32-
bit),
but fails "The program can't start because perl516.dll is missing from your
computer. Try re-installing the program to fix this problem"
running it on the target PC (Windows 7 Professional SP1 64 bit).

My program uses: DBI, Tk, Socket, Sys::Hostname.

Is there a pp option I should be using?

Roderich Schupp

unread,
Sep 28, 2012, 7:17:14 AM9/28/12
to Dave Sedar, p...@perl.org
On Fri, Sep 28, 2012 at 12:05 PM, Dave Sedar <dave....@gmail.com> wrote:
> The packed program runs fine on my development computer (Vista Business SP2 32-
> bit),
> but fails "The program can't start because perl516.dll is missing from your
> computer. Try re-installing the program to fix this problem"
> running it on the target PC (Windows 7 Professional SP1 64 bit).
> Is there a pp option I should be using?

Your use case - packing on 32-bit Windows and running on 64-bit Windows -
isn't supported.

Cheers, Roderich

Roderich Schupp

unread,
Sep 28, 2012, 9:17:00 AM9/28/12
to David Sedar, p...@perl.org
On Fri, Sep 28, 2012 at 1:29 PM, David Sedar <dave....@gmail.com> wrote:
> Thanks for the information, but this was working perfectly with before I
> upgraded Strawberry Perl from 5.12.3

Does it fail in an all 32-bit environment as well,
e.g. temporarily rename the top level Strawberry folder on your
32-bit "packing" machine, then try to run the packed executable there.

If it fails, please post the complete output of building PAR::Packer, i.e.

...unpack tarball

perl Makefile.PL
dmake
dmake test

Cheers, Roderich

Roderich Schupp

unread,
Sep 28, 2012, 10:14:34 AM9/28/12
to David Sedar, p...@perl.org
On Fri, Sep 28, 2012 at 3:56 PM, David Sedar <dave....@gmail.com> wrote:
> Roderich,
> Yes it fails the same way on my development machine when I rename the
> Strawberry directory so it cannot be found.
>
> Please find attached log files from Par::Packer 1.013:

These don't contain enough information, because you just re-ran the
commands in a pre-existing build environment. Please try again
from a clean slate.

Cheers, Roderich

Roderich Schupp

unread,
Sep 28, 2012, 12:02:51 PM9/28/12
to David Sedar, p...@perl.org
On Fri, Sep 28, 2012 at 4:33 PM, David Sedar <dave....@gmail.com> wrote:
> OK what do I need to remove?

Just the PAR-Packer-1.013* directory where you built it. Then unpack
the tarball,
change into the top level directory and

perl Makefile.PL
dmake
dmake test

> I found that PAR::Packer requires getopt::argvfile and module::scandeps,
> should I remove and re-install these too?

Not necessary.

Cheers, Roderich

David Sedar

unread,
Sep 28, 2012, 7:29:09 AM9/28/12
to Roderich Schupp, p...@perl.org
Roderich,
Thanks for the information, but this was working perfectly with before I
upgraded Strawberry Perl from 5.12.3
Is there any way around the problem?
Regards
DAS

On 28 September 2012 12:17, Roderich Schupp
<roderic...@googlemail.com>wrote:

David Sedar

unread,
Sep 28, 2012, 10:33:14 AM9/28/12
to Roderich Schupp, p...@perl.org
Roderich,
OK what do I need to remove?
PAR exists in:
C:\Strawberry\perl\site\lib,
C:\Strawberry\perl\vendor\lib,

I found that PAR::Packer requires getopt::argvfile and module::scandeps,
should I remove and re-install these too?
Regards
DAS

On 28 September 2012 15:14, Roderich Schupp
<roderic...@googlemail.com>wrote:

Roderich Schupp

unread,
Sep 29, 2012, 2:11:43 PM9/29/12
to p...@perl.org
On Sat, Sep 29, 2012 at 6:45 PM, Bob Hallissy <bob...@pobox.com> wrote:
> I must be misunderstanding your statement -- could you help me understand
> it? I've used PP to build a par-based EXE on Windows XP and it runs on both
> 32-bit and 64-bit Windows 7 (neither of which have Perl installed). Is this
> not supposed to work?

I MIGHT work (and in your case it did), but I don't claim it's supposed to :)
I certainly did nothing to make it work.

Cheers, Roderich

David Sedar

unread,
Oct 1, 2012, 12:12:47 PM10/1/12
to Roderich Schupp, p...@perl.org
Roderich,
I have installed cpan 'patch' 0.14 (and 'diff' for good measure).
However not sure when and where I should invoke it.
Running it before or after 'perl makefile.pl' and 'dmake'
in the PAR-Packer-1.013 folder produces the same output:
'patching file Makefile.PL'
'Assertion failed: hunk, file .\src\patch\2.5.9\patch-2.5.9-src\patch.c,
line 354'
'This application has requested the Runtime to terminate it in an unusual
way,
Please contact the application's support team for more information'

Could you please clarify what I am doing wrong
Regards
DAS

On 30 September 2012 12:02, David Sedar <dave....@gmail.com> wrote:

> Roderich,
> Many thanks for the diff file, but I am rather a newbie:
> exactly how do I apply it?
> Regards
> DAS
>
> On 29 September 2012 19:19, Roderich Schupp <
> roderic...@googlemail.com> wrote:
>
>> On Sat, Sep 29, 2012 at 7:24 PM, David Sedar <dave....@gmail.com>
>> wrote:
>> > I can see the error, what is the fix please?
>>
>> Apply the attached patch (it's already in my source repository, but I
>> haven't made
>> a release yet).
>>
>> Cheers, Roderich
>>
>
>

David Sedar

unread,
Oct 2, 2012, 12:03:07 PM10/2/12
to Roderich Schupp, p...@perl.org
Roderich,
Have more or less figured out how to invoke Patch, this is the output it
produced:
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -ru PAR-Packer-1.013\myldr\Makefile.PL
PAR-Packer-1.013_patched\myldr\Makefile.PL
|--- PAR-Packer-1.013\myldr\Makefile.PL Thu Jan 26 19:51:55 2012
|+++ PAR-Packer-1.013_patched\myldr\Makefile.PL Tue Apr 10 15:08:37 2012
--------------------------
Patching file Makefile.PL using Plan A...
Hunk #1 FAILED at 113.
1 out of 1 hunk FAILED -- saving rejects to file Makefile.PL.rej
Hmm... The next patch looks like a unified diff to me...
can't find file to patch at input line 27
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|NOOP)';
| } else {
|diff -ru PAR-Packer-1.013\myldr\winres\pp.rc
PAR-Packer-1.013_patched\myldr\winres\pp.rc
|--- PAR-Packer-1.013\myldr\winres\pp.rc Thu Jan 26 19:51:55 2012
|+++ PAR-Packer-1.013_patched\myldr\winres\pp.rc Tue Apr 10 14:25:10 2012
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
Hunk #1 ignored at 5.
1 out of 1 hunk ignored
Hmm...missing header for unified diff at line 37 of patch
The next patch looks like a unified diff to me...
can't find file to patch at input line 37
Perhaps you should have used the -p or --strip option?
File to patch:
Skip this patch? [y]
Skipping patch.
Hmm...missing header for unified diff at line 38 of patch
The next patch looks like a unified diff to me...
can't find file to patch at input line 38
Perhaps you should have used the -p or --strip option?
and on and on...
Regards
DAS
0 new messages