Menu

missing project "perl include path" in @INC on windows

Help
2015-01-16
2015-01-16
  • Nikolay Panin

    Nikolay Panin - 2015-01-16

    Hello All

    I've a project, that uses framework which is available via relative path that I added to "perl include path". But still has errors that module can't be found, and diagnose string indicating that all my include paths are excluded from @INC:

    Can't locate <FRAMEWORK>/<MODULE>.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.14/x86_64-cygwin-threads /usr/lib/perl5/site_perl/5.14 /usr/lib/perl5/vendor_perl/5.14/x86_64-cygwin-threads /usr/lib/perl5/vendor_perl/5.14 /usr/lib/perl5/5.14/x86_64-cygwin-threads /usr/lib/perl5/5.14 .)
    

    I've tried to apply a path suggested by https://rt.cpan.org/Public/Bug/Display.html?id=56225, but it didn't help.

    Linux version of Eclipse + EPIC works fine with same project settings.

    I'm using Windows 7, cygwin 64 with perl 5.14.4, Luna Service Release 1a (4.4.1), EPIC plugin 0.7.0

    Any ideas or help will be appreciated.

    Thanks,
    Nick

     
  • Jan Ploski

    Jan Ploski - 2015-01-16

    The first thing I would try is create a Hello world Perl project, add whichever path you like to project's Properties > Perl Include Path, then create within the project a script that does print "$_\n" for(@INC); and run this script from Eclipse. If you see the entered path there and don't see in your other project, this may give a clue where to start debugging.

     
    • Nikolay Panin

      Nikolay Panin - 2015-01-16

      Thanks a lot for the idea!

      Print INC sample just working.
      Now I realized, that probably I messed up "Declaration not found" and missing include path errors. And even in this small 1 line hello world project, when I include module that is located in include path, I got "Declaration not found" when I hit F3.

      I suspect that case sensitive path is guilty:
      print "INC: " . join (":", @INC);
      output:
      INC: /cygdrive/c/eclipse_luna/workspace/test_inc/../../../tools:<...etc...>

      when I include path ../../../Tools
      and the actual directory is named "Tools", not "tools"

       
      • Jan Ploski

        Jan Ploski - 2015-01-16

        Here's another tip: it's rather strange to have a relative project include path point outside of the project (and even outside of the workspace). Perhaps you can rearrange your file system so that the required libraries actually reside within the Eclipse project (and then use project-relative paths to point to them).

        I suspect that the Cygwin vs. Windows paths may also play a role in the errors you're getting - maybe the Cygwin path cannot be translated into the Windows path correctly.

        Case sensitivity normally doesn't matter in Windows, but it might in Cygwin. Generally, if you can avoid Cygwin with EPIC, you should, as you will run into fewer problems when using a native Windows Perl (like from ActiveState or Strawberry Perl, though I haven't used the latter myself). (Of course, the best solution is to not use Windows, but I digress.)

         

Log in to post a comment.