Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Strawberry Perl error perl516.dll not found

by mike65535 (Novice)
on Oct 14, 2015 at 15:54 UTC ( [id://1144880]=perlquestion: print w/replies, xml ) Need Help??

mike65535 has asked for the wisdom of the Perl Monks concerning the following question:

I've just installed 32-bit Strawberry 5.22 on a Win7 machine. (I was instructed to install the 32-bit version for the scripts and development environment I am trying to use.)

When I try to run a script (perl <scriptname>), Perl.exe throws a System error:  The program can't start because perl516.dll is missing from your computer.

Indeed, that file is nowhere to be found on the PC. I do have perl522.dll.

Any ideas?

-Mike

Replies are listed 'Best First'.
Re: Strawberry Perl error perl516.dll not found
by VinsWorldcom (Prior) on Oct 14, 2015 at 16:08 UTC

    What is the "scripts and development" environment you're using? It's likely there is an XS module compiled under Perl 5.16 which is causing the error.

    You'll need to re-install (re-compile) your additional modules (site) under the new 5.22 version of Perl.

      Thanks. Yeah, more digging reveals references to 5.16 in my apps. I'm now using Strawberry Perl 5.16 and that error disappeared.

      I was under the mistaken assumption hat it was perl itself with the issue, but it's the "user" code.

      Also: It's a TI evaluation board - and their perl scripts - that I'm trying to use.

      Thanks again.

Re: Strawberry Perl error perl516.dll not found
by ikegami (Patriarch) on Oct 14, 2015 at 19:25 UTC
    You have parts of Perl 5.16 (perl.exe, or maybe the compiled portion of a module) and parts of Perl 5.22 (perl522.dll).
Re: Strawberry Perl error perl516.dll not found
by sundialsvc4 (Abbot) on Oct 14, 2015 at 16:56 UTC

    Following that line of reasoning ... does Perl fail to start?   Specify a script-name and it will not run it?   Will not run at all?   If so, this suggests to me that this perl.exe (the one that you are encountering in your $PATH) is not, in fact, the expected version. I believe that you can right-click on an icon attached to the executable and get version-information from an info dialog. Does perl -V (uppercase-V) do anything at all? If you specify the complete file-path to the perl.exe that (you think) is the version you just installed, instead of relying on $PATH to search for it, what happens?   (I don’t think Windows has a which command ...?)

    I do not think that an XS-module would cause Perl to fail to start altogether.   But it is common for an executable to be a stub-loader for a DLL, and maybe that’s what the Strawberry team did.   They would be very specific about versioning and undoubtedly would include the version in the DLL-file name, as here.

    I would also search the file system for perl*.dll and note anything and everything that shows up.   Ditto perl.exe.   Something is not as you think it is, and you’re just chasing rabbits until you can see what is really the situation here.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1144880]
Approved by marto
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (7)
As of 2024-04-23 12:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found