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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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 :-).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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)
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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?
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.
$ 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.
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
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.
Gotcha - thanks for the help!
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 ?
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.
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 :-).
That will be an interesting experiment indeed; do not hesitate to report the outcome (even if you get stuck).
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
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).
oops, my fw was blocking high ports, checked out (cvs) is ok now, thx
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
Right, if you get no errors about "assert", you're ok.
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
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)