Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Fatal: failed to find source perl5db.pl ...

Help
2008-06-25
2013-06-23
  • Justin Ellison
    Justin Ellison
    2008-06-25

    Running 0.6.24 of EPIC on Eclipse 3.2 for Linux.  Trying to just create a simple Perl Local run config, no matter what I do I get a 'Fatal: failed to find source perl5db.pl for epic_breakpoints.pm' when I try to run it.

    Any tips?

     
    • Jan Ploski
      Jan Ploski
      2008-06-25

      Check the output of the following script (on the command line):

      foreach $t(@INC) {print $t."\n";}

      EPIC seeks for perl5db.pl by appending this file name to each element of the @INC path. If it is not found, the error message you quoted is emitted.

       
    • Justin Ellison
      Justin Ellison
      2008-06-25

      $ perl -e 'foreach $t(@INC) {print "Found perl5db.pl in $t!\n" if (-e "$t/perl5db.pl");}'
      Found perl5db.pl in /usr/lib/perl5/5.8.8!

      Also, I thought EPIC had a patched perl5db.pl?  There's one in the plugin directory tree.

       
    • Justin Ellison
      Justin Ellison
      2008-06-25

      Hmmm... just found the what, but not sure of the why.

      In Perl EPIC preferences, my perl executable is set to 'perl -Mstrict' - this lets me use strict in Eclipse without enabling strict after I deploy my apps.  If I remove the -Mstrict, the run config works.  Is there a better way to do what I'm trying to do with strict, or is it a bug?

      Justin

       
      • Jan Ploski
        Jan Ploski
        2008-06-25

        It happens because some of the internal EPIC scripts, including the one which figures out @INC, aren't "strict", so they will produce errors instead of the expected output. You could write a wrapper script which only enables -Mstrict when your project's code is compiled/run and use it as the Perl interpreter to work around that.

         
    • Justin Ellison
      Justin Ellison
      2008-06-26

      Gotcha - thanks for the help!

       
  • hornetbzz
    hornetbzz
    2011-02-14

    Looks like this issue is not solved as I'm facing apparently the same symptoms with the following setup :

    Windows 7
    Eclipse Version: Helios Service Release 1 Build id: 20100917-0705
    CYGWIN_NT-6.1-WOW64 PC_DEV 1.7.7(0.230/5/3) 2010-08-31 09:58 i686 Cygwin
    perl, v5.10.1 (*) built for i686-cygwin-thread-multi-64int

    Eclipse Error : "Fatal: failed to find source perl5db.pl for epic_breakpoints.pm"

    What can I do to get this working ?
    Can I force the path in epic_breakpoints.pm ?

     
  • Jan Ploski
    Jan Ploski
    2011-02-14

    hornetbzz, have you set the interpreter type to Cygwin in EPIC preferences? If not, try this first.

    You can't force the path *in* epic_breakpoints.pm. It is the Java code, not epic_breakpoints.pm, which seeks for Perl's native perl5db.pl in order to patch it with a line referring to epic_breakpoints.pm and use this patched version instead when debugging scripts from EPIC.

    But you could try debugging EPIC yourself: http://www.epic-ide.org/devguide.php
    The relevant method is called PerlDebugPlugin.patchPerl5Db. It also uses the class CygwinPathMapper for translating Cygwin-style paths into normal Windows paths while looking for perl5db.pl. Maybe it is failing at this point. In any case, debugging EPIC would give you info about where it is looking and quite probably why it doesn't work.

     
  • hornetbzz
    hornetbzz
    2011-02-15

    Yes the interpreter is set up to cygwin.

    Hum, I'm not a IT engineer but a commercial director with significant interest in IT technologies. Also I have no skills in Java, but I can try to have a look at least. At least I'll have tried :-).

     
  • Jan Ploski
    Jan Ploski
    2011-02-15

    That will be an interesting experiment indeed; do not hesitate to report the outcome (even if you get stuck).

     
  • hornetbzz
    hornetbzz
    2011-02-15

    well, trying to checkout (svn) from there http://e-p-i-c.cvs.sourceforge.net/viewvc/e-p-i-c but I get a reply that the repo has been moved… to /viewvc/e-p-i-c

     
  • Jan Ploski
    Jan Ploski
    2011-02-15

    The repository is CVS, not SVN. You're supposed to open the "CVS Repositories" perspective in Eclipse and configure a new repository there. Enter "e-p-i-c.cvs.sourceforge.net" as host, "/cvsroot/e-p-i-c" as repository path, "anonymous" as user, pserver as connection method (which is default).

     
  • hornetbzz
    hornetbzz
    2011-02-15

    oops, my fw was blocking high ports, checked out (cvs) is ok now, thx

     
  • hornetbzz
    hornetbzz
    2011-02-15

    Just a quick question (http://www.epic-ide.org/devguide.php#N200F0) about this :

    Set the default compiler compliance level to 1.4, both for the source code and for class files (Window → Preferences…, then Java → Compiler).

    I guess the doc is outdated and I can leave the current default setting with 1.6, not reverting to 1.4 Java Compiler

     
  • Jan Ploski
    Jan Ploski
    2011-02-15

    Right, if you get no errors about "assert", you're ok.

     
  • hornetbzz
    hornetbzz
    2011-02-16

    I spent 10 hours w/o success mostly because I'm lacking some significant skills on Java as well as using Eclipse properly. I could understand the principle to create a workspace for debugging the plugin and another one to execute/test these changes but could not get it working. I shall turn back to my project so I leave it as it is for the moment.

    Here is a wrap up of the actions to keep record for the next time:

    Environment
    Windows Seven
    Eclipse Version: Helios Service Release 1 Build id: 20100917-0705
    CYGWIN_NT-6.1-WOW64 PC_DEV 1.7.7(0.230/5/3) 2010-08-31 09:58 i686 Cygwin perl, v5.10.1 (*) built for i686-cygwin-thread-multi-64int

    Symptom
    When trying to run or debug a perl script
    What: Eclipse returning: "Fatal: failed to find source perl5db.pl for epic_breakpoints.pm"
    Checked : that this file exists in cygwin
    $ perl -e 'foreach $t(@INC) {print "Found perl5db.pl in $t!\n" if (-e "$t/perl5db.pl");}'

    Prepare for debugging the epic editor plugin
    Instructions: See http://www.epic-ide.org/devguide.php#N20122
    Install Eclipse (Helios PDT in my case) and the plugin for PDE (Plugin Development Environment) (Help/Install New Software/ http://download.eclipse.org/eclipse/pde/visualization/updates)
    Install antlr plugin (Eclipse/Help/Install New Software => http://antlreclipse.sourceforge.net/updates)
    Create a new Eclipse workspace fully dedicated for that dvp work in order to avoid mixing with existing projects and/or environments (Eclipse/File/Switch Workspace/workspace_dev_epic)
    Connect cvs epic repository within eclipse (Eclipse/New/CVS repository location / type=pserver, host=e-p-i-c.cvs.sourceforge.net, path= /cvsroot/e-p-i-c, login= anonymous) NOTE: Firewall high ports shall be opened.
    Turn off "automatic build" (Windows/Preferences/General/Workspace) Setup the perl interpreter (/Windows/Preferences/Perl Epic/ Executables="C:\cygwin\bin\perl5.10.1.exe", Interpreter=cygwin) - NOTA: without the perl interpreter , the checkout operation stopped while for the org.epic.website module Check out cvs epic repository modules within eclipse, at least these : org.epic.perl, editororg.epic.debug org.epic.regexp, org.epic.doc (right click / checkout)
    Search for the module patchPerl5Db to debug in Perl Debug Plugin.java (Search/File with an empty text pattern)
    Check out Eclipse sources (:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse)

    Documentation
    http://www.epic-ide.org/devguide.php#N20122
    http://www.epic-ide.org/devguide.php#creating-unit-tests
    http://www.epic-ide.org/devguide.php#preparing-release
    http://www.ibm.com/developerworks/library/os-eclipse-pde/
    http://www.vogella.de/articles/EclipsePlugIn/article.html#sourcecode
    http://dsdp.eclipse.org/help/latest/index.jsp?topic=%2Forg.eclipse.rse.doc.isv%2Fguide%2Ftutorial%2FpdeProject.html

     
  • hornetbzz
    hornetbzz
    2011-02-17

    I found a real real $@%%% nasty point so I post this as this can also help other stupids like me :-(

    I'm used to run Eclipse as "administrator" on Windows seven. But more used to Linux distros.
    This leads to unlikely behaviour as some directories become forbidden" for the poor windows admin.
    The direct side effect is that Perl Epic does not run correctly and gives no hints about the reason why.
    The consequences are : Epic does not run the perl doc, the error explanation, the debug neither the run console as it doesn't "find" the perl5db.pl file (in fact it can not access to it)
    I searched dozen of hours to find such a stupid mistake, which basically was mine. As usual, the most sutpid it is, the more painful time to spend.

    => Suggestion for the plugin:
    I guess it should be quite feasable to detect the code runner and/or check the directory permissions.

    Thx

     
  • Hi.. am experiencing this same problem..It appears to be that the search path does not include the assumed @INC list (which in my case does include the correct path for perl5db.pl).. Please see the Eclipse output for the error.. the paths listed are all for the WinAVR package, but I am using the Cygwin version, and have that in the preferences for Perl-EPIC plugin. Anyone have a clue on how to coerce EPIC/Eclipse to use the correct paths?
    -thx

    OS: Win8, Eclipse: Juno SR2, EPIC: 0.6.52

    Fatal: failed to find source perl5db.pl for epic_breakpoints.pm (searched in C:\WinAVR-20100110\utils\lib\perl5\site_perl\5.14\i686-cygwin-threads-64int;C:\WinAVR-20100110\utils\lib\perl5\site_perl\5.14;C:\WinAVR-20100110\utils\lib\perl5\vendor_perl\5.14\i686-cygwin-threads-64int;C:\WinAVR-20100110\utils\lib\perl5\vendor_perl\5.14;C:\WinAVR-20100110\utils\lib\perl5\5.14\i686-cygwin-threads-64int;C:\WinAVR-20100110\utils\lib\perl5\5.14;C:\WinAVR-20100110\utils\lib\perl5\site_perl\5.10;C:\WinAVR-20100110\utils\lib\perl5\vendor_perl\5.10;C:\WinAVR-20100110\utils\lib\perl5\site_perl\5.8;C:\WinAVR-20100110\utils)