problem - "Compilation failed in require"

boskovuk wrote on Fri Sep 22 18:51:01 MEST 2006:
This is my environment:
Windows XP
Eclipse 3.2
EPIC 0.4.11
ActivePerl 5.8.8

First line of my perl script:
    use TeamSite::DCRparser;
generates "Compilation failed in require".

I have found some discussion on EPIC forum about this. However, I was not
able to conclude anything from them.

Any help is appreciated ...
jgangemi wrote on Fri Sep 22 18:52:51 MEST 2006:
is TeamSote::DCRParser using any modules?
boskovuk wrote on Fri Sep 22 18:59:00 MEST 2006:
I just checked that.

TeamSite::DCRparser is using several modules.

Do I need to 'Perl Include Path' of project properties (EPIC) for each one
of these?

jgangemi wrote on Fri Sep 22 19:03:23 MEST 2006:
you will need to set the include path via the project properties page for
any modules that might not reside under the default PERL5LIB dirs.
boskovuk wrote on Fri Sep 22 19:08:16 MEST 2006:
thank You - this was quick and usefull.

just to summarize:
If my perl script includes a bunch of use statements:
use TeamSite::DCRparser;
use TeamSite::Config;
use TeamSite::WFtask;
use TeamSite::WFworkflow;

I am required to manually go through each one of these and check their includes
(i.e. 'use' statements)?

What about includes of their includes? Do they also need to be checked?
jgangemi wrote on Fri Sep 22 19:15:10 MEST 2006:
well - if you don't edit them, then they won't appear w/ problem markers
(at least at this point in time), however as soon as you open them and the
validation thread runs, if the module can't be found, an error will be reported.

a nice future ehancement would be for epic to act more like the jdt and
compile everything and report back errors all at once, instead of only compiling
items that have been openned by the editor.

you may also have to add the directory under your projects that the modules
live under to the include path as well.

ie: if you have a lib folder under your project where all the modules are,
you should add that to the include path as well.  
jploski wrote on Fri Sep 22 21:13:55 MEST 2006:
Just a little correction: you can actually let EPIC validate all files in
a project by using the "Project/Clean" command. EPIC also validates modified
files on Refresh (even if you don't open them in editor). What is missing
and causing confusion is proper dependency tracking (e.g., recompile all
dependent scripts after a module used by these scripts has changed).
jploski wrote on Fri Sep 22 21:18:39 MEST 2006:
Here is a simple procedure to get your @INC path right for a project:
1. Turn on "Project/Build automatically", then do "Project/Clean".
2. For any files which report errors, check what they are missing. It seems
that running "perl -c /path/to/the/file.pl" from the command line gives
the best diagnostic output.
3. Extend your project's @INC path so that the missing module can be found
through it.
4. Go back to Step 1 until no more problems are reported.

Note: The above is an archived snapshot of a forum thread. Use the original thread at sf.net to post comments.