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

Hi Perl Monks, After un-installing all publicly installed instances of Active and Strawberry perl (I left POPFile alone), I installed Active perl 5.10.1. Most everything on this Win/XP box runs just fine including Apache2.2 with mod_perl (using perl510.dll). Also working just fine is POPFile with it's local copy of perl58. What I am having an issue with, is a simple compile. Here is the code:
use strict; use warnings; use File::Basename; use File::Find; use Getopt::Long; use Log::Dispatch; use Log::Dispatch::Handle;
When go to compile this code, the perl interpreter opens a dialog box and complains that it cannot find perl58.dll. It is the last line of the source code which triggers the perl interpreter error. I used PPM with perl 5.10 repositories and installed Log::Dispatch 0.27, 0.26 and 0.20 and all three version fail perl compilation the same way. I checked that my Win/XP environment did not have anything funky in it. I even uninstalled parrot just to eliminate that possibility. Thanks

Replies are listed 'Best First'.
Re: not found perl58.dll
by Anonymous Monk on Nov 19, 2010 at 17:10 UTC
    Log::Dispatch itself is a pure-Perl module, but according to its Makefile:PL, it depends on Sys::Syslog, which is an XS module with a binary component. Maybe you have an old version of the latter linked against perl58.dll - just a guess, though.

    You might want to check Sys::Syslog's DLL dependencies with Dependency Walker, or simply try to install Sys::Syslog again.

      Anonymous - Thanks for your guidance. Discovered that the install I did for Log::Dispatch messed up Sys::Syslog. After removing that version of Sys::Syslog and getting the same result, I dedided to re-install perl. Because my instance of perl was so new, I decided to blow it all away and start all over again. That brought to the surface how I managed to mess up the Log::Dispatch install. The .ppd automatically generated by ActiveState was broken. I finally figured out that the best option was to choose another repo, like Trouchelle, which had a working version of Log::Dispatch .ppd. Once I used PPM to install the Trouchelle copy of Log::Dispatch, things are once more working properly. Thanks again.