Perl script won't run - says I don't have perl58.dll

Problems with the Windows version of XAMPP, questions, comments, and anything related.

Perl script won't run - says I don't have perl58.dll

Postby tryin_to_learn » 13. November 2008 04:09

I'm trying to run a Perl script from the command line and I keep getting a popup error message that the application can't run because it can't find perl58.dll. I do a search in my xampp folder and sure enough, there's no perl58.dll file anywhere.

This is the output on the command line:

install_driver(mysql) failed: Can't load 'C:/xampp/perl/site/lib/auto/DBD/mysql/
mysql.dll' for module DBD::mysql: load_file:The specified module could not be fo
und at C:/xampp/perl/lib/DynaLoader.pm line 203.
at (eval 11) line 3
Compilation failed in require at (eval 11) line 3.
Perhaps a required shared library or dll isn't installed where expected
at export.pl line 31

I do have mysql.dll - it's at C:\xampp\perl\site\lib\auto\DBD\mysql

Any ideas?
tryin_to_learn
 
Posts: 54
Joined: 18. January 2007 16:04

Re: Perl script won't run - says I don't have perl58.dll

Postby Sharley » 13. November 2008 05:23

tryin_to_learn wrote:...I do a search in my xampp folder and sure enough, there's no perl58.dll file anywhere...

In my XAMPP installation with the latest Perl Plugin the perl58.dll is located in C:\xampp\perl\bin - the same location as the perl.exe file.

This dll is not included in the latest perl addon but would have been put there in my installation from a previous version as I simply updated and did not install a fresh perl addon version.


Go to the XAMPP Archive, find them at the bottom of the list and download this version's 7zip or zip file and extract the files to a temp folder:
xampp-win32-perl-addon-5.8.8-2.2.8.exe 31467718 bytes <-- 7zip
or
xampp-win32-perl-addon-5.8.8-2.2.8.zip 53734543 bytes <-- zip

Then find the perl58.dll in the perl\bin folder in the temp folder you extracted the archive to and add it to the above mentioned C:\xampp\perl\bin folder and see how that goes when you try and run your script again.


As you can see the archives are perl version 5.8.8 where as the new version addon is perl version 5.10.0 - this may also mean the script you are trying to run is looking for an older version of perl and you may need to address this fact to the script's author.
User avatar
Sharley
AF Moderator
 
Posts: 3316
Joined: 03. October 2008 05:10
Location: Yeppoon, Australia Time Zone: GMT/UTC+10
Operating System: Win 7 Pro 32bit/XP Pro SP3

Postby tryin_to_learn » 14. November 2008 05:57

Thanks for the ideas. I grabbed perl58.dll from the archived version and put it in xampp\perl\bin and am still getting the "can't find perl58.dll" message. I can see it sitting there in xampp\perl\bin but for some reason, the script isn't finding it. I also tried putting perl on an older XP machine I have to rule out Vista problems and even when I add the perl58.dll file, I still get the "can't find perl58.dll" when I try to run the script.

I've tried rebooting, tried running the setup_xampp.bat file again after I added perl58.dll but nothing seems to make a difference. Is there anything else I need to do to get the new add-on to recognize the older perl58.dll file? I'm also talking to the author of the script but wanted to see if you had any other ideas as well.

Thanks again.
tryin_to_learn
 
Posts: 54
Joined: 18. January 2007 16:04

Postby Sharley » 14. November 2008 06:53

tryin_to_learn wrote:I've tried rebooting, tried running the setup_xampp.bat file
You mean you ran the setup_xampp.bat file twice when installing the addon not once - as per the readme-addon-perl.txt file?
readme-addon-perl wrote:ENGLISH (re-translated): Simply extract this add-on in your current XAMPP-Directory.
All older files are overwritten.
Then start the "setup_xampp.bat" to configure XAMPP with Perl (once).
Now restart Apache.
After the restart, run the "setup_xampp.bat" file again (twice), this time you can choose either "with mod_perl" or "without mod_perl".
You can choose "without mod_perl" if you know that you don't need it, or "with mod_perl" if you know that it is needed - if you don't know either way, then select "without mod_perl".

tryin_to_learn wrote:...I'm also talking to the author of the script but wanted to see if you had any other ideas as well...

If you have done all that then there is not much more I could suggest.
Lets see what the scripts author has to say about the script and a possible perl version issue.

But first you could try this now you have the 5.8.8 archive.

Unpack the 5.8.8 archive to say C:\perl

Now change the shebang line at the top of your script to reflect the new path tp perl:
#!"C:\perl\bin\perl.exe"

Change any other 'paths to perl' in your script if there are any.

Now try your script from the command line again.

Because you are using the command line to activate your script it might work and you have nothing to loose - if it fails just delete the perl 5.8.8 folder and change the shebang back to where you had it before...
...but please inform the author of what you did if it works:

What we are trying to find out here is if it's a perl version issue by temporarily substituting perl 5.8.8 for the XAMPP addon version 5.10.0
Last edited by Sharley on 15. November 2008 04:14, edited 1 time in total.
User avatar
Sharley
AF Moderator
 
Posts: 3316
Joined: 03. October 2008 05:10
Location: Yeppoon, Australia Time Zone: GMT/UTC+10
Operating System: Win 7 Pro 32bit/XP Pro SP3

Postby tryin_to_learn » 15. November 2008 04:12

Ok, we're getting somewhere. The script runs with 5.8.8. Can I just replace my 5.10.0 version in xampp with 5.8.8 or does the script need to be changed to accommodate 5.10.0? If I use 5.8.8, can I just delete everything in the xampp\perl\ folder and copy everything from the 5.8.8 perl folder to the xampp\perl folder? Would I need to run setup_xampp.bat again?

I noticed in an earlier post that you said you had installed the current perl add-on over an existing one. This is the first time I've ever installed perl so there was no older version on my machine - could that be causing the problem?

Thanks so much for your help, btw. I've really appreciated it.
tryin_to_learn
 
Posts: 54
Joined: 18. January 2007 16:04

Postby Sharley » 15. November 2008 04:33

tryin_to_learn wrote:Ok, we're getting somewhere. The script runs with 5.8.8. Can I just replace my 5.10.0 version in xampp with 5.8.8 or does the script need to be changed to accommodate 5.10.0? If I use 5.8.8, can I just delete everything in the xampp\perl\ folder and copy everything from the 5.8.8 perl folder to the xampp\perl folder? Would I need to run setup_xampp.bat again?

I noticed in an earlier post that you said you had installed the current perl add-on over an existing one. This is the first time I've ever installed perl so there was no older version on my machine - could that be causing the problem?

Thanks so much for your help, btw. I've really appreciated it.

Your very welcome.

You can't copy files over, you have to extract the archive to C:\xampp as there are files that need to go in other folders in the xampp folder tree.

Remove the 5.8.8 C:\perl instance first and change the shebang in your script to the new path to perl which was #!"C:\xampp\perl\bin\perl.exe"

Because you are going to use an older version than you already have I would delete the xampp\perl folder rather than trying to overwrite newer files with older files also some files peculiar to 5.10.0 may be left behind and so possibly give unneeded errors again

(Because you are not using an install script, overwriting newer files with older files should work when extracting an archive, as it just overwrites existing files irrespective of the date of the file - it should just ask if you want to overwrite existing, select to overwrite all would be the way to go, if you use this method).

No matter how you do it you can not damage the perl addon installation and if you think it has been damaged for some strange reason then just simply install again, but remember to always run the bat files twice every time you re-install the perl addon.

So to recap, extract the perl 5.8.8 archive as if it was a new addon installation as there are files that have to be extracted to other folders in the XAMPP tree, so to all intents and purposes it is a fresh perl instance - select overwrite when/if asked.

You then have to follow the above ENGLISH install instructions and run the bat file twice.

I am pleased you have been able to get to the bottom of this issue and I am sure the script's author would also like to know that the script has a version issue.
User avatar
Sharley
AF Moderator
 
Posts: 3316
Joined: 03. October 2008 05:10
Location: Yeppoon, Australia Time Zone: GMT/UTC+10
Operating System: Win 7 Pro 32bit/XP Pro SP3

Postby Sharley » 21. November 2008 03:12

This is an important update to the information already included in this thread.


For those reading this thread and who may also be experiencing missing files in a recent download of the latest Perl Addon from the ApacheFriends web site, please read this linked post for an explanation and a possible solution for this issue:
http://community.apachefriends.org/f/viewtopi ... 712#129712



But for the original poster, tryin_to_learn the perl58.dll has been superseded in the latest Perl Addon 5.10 by perl510.dll which still may not satisfy the perl script's requirements in question.
User avatar
Sharley
AF Moderator
 
Posts: 3316
Joined: 03. October 2008 05:10
Location: Yeppoon, Australia Time Zone: GMT/UTC+10
Operating System: Win 7 Pro 32bit/XP Pro SP3

Postby tryin_to_learn » 21. November 2008 03:37

Yes! I'm so glad you posted this. I did eventually solve the issue by going back to the older version of Perl that you pointed me to but in trying to troubleshoot it, my developer and I found several missing files - such as the ppm.bat you mentioned.

One thing I found very frustrating in trying to overwrite the newer Perl with any other Perl files was that I would get alerts saying that I already had the latest version of Perl on my machine and it wouldn't allow me to download anything else on top of it. That doesn't kick in with the solution you're suggesting?
tryin_to_learn
 
Posts: 54
Joined: 18. January 2007 16:04

Postby Sharley » 21. November 2008 03:47

tryin_to_learn wrote:One thing I found very frustrating in trying to overwrite the newer Perl with any other Perl files was that I would get alerts saying that I already had the latest version of Perl on my machine and it wouldn't allow me to download anything else on top of it. That doesn't kick in with the solution you're suggesting?
I can understand your frustration with this issue but are we talking about the Installer version, as I have no experience using a Windows Installer version to either install or upgrade - I always use the 7zip versions for more control over what can and can't be achieved and so I am not reliant on a mere installers author's interpretation of what I want to do.

I have just successfully installed both the pl1 and pl2 upgrades over the top of my existing Perl 5.10 installation with no issues at all after checking out all perl scripts on my system - all work as intended.
User avatar
Sharley
AF Moderator
 
Posts: 3316
Joined: 03. October 2008 05:10
Location: Yeppoon, Australia Time Zone: GMT/UTC+10
Operating System: Win 7 Pro 32bit/XP Pro SP3

Postby tryin_to_learn » 21. November 2008 03:56

Ok - and yes, I was using the installer version. This is all new to me so I figured I didn't know enough to use the Zip.
tryin_to_learn
 
Posts: 54
Joined: 18. January 2007 16:04


Return to XAMPP for Windows

Who is online

Users browsing this forum: No registered users and 57 guests