Menu

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

     
  • Dr C. L. Fullmer

    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)

     

Log in to post a comment.