http://qs1969.pair.com?node_id=845800


in reply to Re: How PAR pp works?
in thread How PAR pp works?

I have also turned the switch in if, elsif, else, solving that problem...
But the problem is not the switch but is how the modules are boundled in...
because I have the same problem with NET::SMTP and similar...
I will read the document below from Anonymous Monk, and then I will get back here...

Replies are listed 'Best First'.
Re^3: How PAR pp works?
by almut (Canon) on Jun 21, 2010 at 20:15 UTC
    But the problem is not the switch but is how the modules are boundled in...

    Well, the thing is that on some occassions, Module::ScanDeps fails to detect dependencies.  Usually, the problem is with shared object files that XS modules have been linked against, but there are also other difficult cases like the one above you found with Switch.

    In that case, you just have to help pp by telling it (using the options -M, -l, -a) what else to include in the package (.pm / .so files, etc.) in addition to what Module::ScanDeps automatically figured out.  In case of doubt, try to deploy the package in an environment comparable to the target environment (i.e. without Perl/modules/libs installed) until it no longer complains about missing stuff...

      In case of doubt, try to deploy the package in an environment comparable to the target environment (i.e. without Perl/modules/libs installed) until it no longer complains about missing stuff...

      That can be as simple as starting a new console and emptying %PATH%

        ...on Windows, maybe.  On Unix, and for shared libs, there's at least also the issue of runtime linker configuration (ldconfig), potentially compiled-in search paths (-rpath), LD_LIBRARY_PATH, and whatever else I don't think of at the moment :)