Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^2: Using PerlApp or PAR with modules with data dependenciess

by Anonymous Monk
on Dec 16, 2017 at 09:09 UTC ( [id://1205657]=note: print w/replies, xml ) Need Help??


in reply to Re: Using PerlApp or PAR with modules with data dependenciess
in thread Using PerlApp or PAR with modules with data dependenciess

Thank you for your suggestion. Without adding:

use Lingua;

the exe made by PerlApp (standard settings) produces at runtime following error message related to the line of code I pointed to in the OP:

Failed to find share dir for dist 'Lingua-Sentence' at /<C:\Users\XY\s +plitter.exe>Lingua/Sentence.pm line 24.

If I add:

use Lingua;

PerlApp is not capable of compile the script. Following error message:

PerlApp is not able to locate Lingua.pm using the current module searc +h path. This module is probably required. If this module is require +d then adjust the module search path on the Main tab so that it can b +e found. Otherwise consider trimming the module in order to hide thi +s error.

a quick check confirms that there is no Language.pm module in Perl/site/lib/(Language)

Replies are listed 'Best First'.
Re^3: Using PerlApp or PAR with modules with data dependenciess
by Marshall (Canon) on Dec 16, 2017 at 09:55 UTC
    Well, did you use the ActiveState ppm (Perl Package Manager) application to install these modules? I suspect that you don't have a valid ActiveState Perl installation.

    I looked with ppm on my current installation. I think you need to install Lingua-EN-Sentence using ppm. The ActiveState tools do work, but you have to "play by their rules".

      Hello. Yes, everything has been installed imo the right way. Module Lingua::Sentence has been installed with ActiveState ppm (and it works fine if I run my script). PS: I am not using Lingua::EN::Sentence (this module - relying on no external files can be paked without problems by PerlApp!). PerlApps works for me too, but the exeption is - as I said - when a module relies on external files (in the case of Lingua::Sentence these files are non breaking rules the module needs to perform its task).

        I did a google on "activestate Lingua::sentence" and understand incrementally a bit more. On the ActiveState user forum there was a similar question but the OP wasn't able to present a clear example of his issue. Your example is a great clear one. I'd give ActiveState a chance to recommend their solution/work-a-round. Something is wrong in the module, but I don't know what. Presumably you'd want all of these language specific files to be included in the .exe so that you could calculate a table to use at run-time? In the mean time, I'd do what you have to do in order to force this EN file into the .exe as a short term measure.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2024-03-29 10:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found