I'm having the following problem with one of my projects. I've got a directory layout like this:
Let's say Client/Main.pm uses Socket::IO from the core perl distribution. Now, when I edit Main.pm the syntax checker complains about Socket::IO cannot be compiled. As far as I can tell, the problem lies in how the syntax checking is invoked. A temporary file of Client/Main.pm is created in /tmp (using Linux by the way). In order to restore the default behaviour of perl, where . (i.e. the current directory) is always added to @INC), EPIC adds /path_to_source/Client via -I to @INC. However Config.pm is now moved from its "namespace" Client::Config to Config, thus replacing the core Config.pm (since -I paths are added to the front of @INC) and my Config.pm mustn't replace Config.pm of the perl core.
I'd recommend creating the temporary file in the same directory were the source file resides, but probably there's a very good reason for the current behaviour.
So anything I can do to make the syntax checker work?
actually it was not planned to have tmp files.
We noticed that we ran into problems on Linux when feeding the scripts directly via stdin to the perl interpreter.
So we used (as a workaround) tmp files. But we are not happy with the situation.
Now it turns out that the problem is due to a bug in the Linux/Soloris Java version since 1.4 (http://developer.java.sun.com/developer/bugParade/bugs/4750978.html).
With the next version we will not use tmp files anymore (so Linux/Solaris users should use Java 1.3x).
Then I hope to get rid of the additional -I /path_to_source parameter.
I hope the new version will be out this week (buit I can't promise).
I hope there will not be too many side effects when discarding tmp files.
If the problem still persists with the new version, please send me a mail (luelljoc at users.sourceforge.net).
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.