Running Perl in Eclispe Epic Cygwin

jli023 wrote on Fri Sep  5 06:02:31 MEST 2008:
I have one Perl script which works when executing it directly in Cygwin

It uses find to find a type of file in a directory and its subdirectories:

my @jarfiles = split(' ',`find $bin_location -name "*.jar"`);

But when run or debug it in Eclipse, it has error:
sh: find: No such file or directory. 

I have set the Perl interpreter in Eclipse->Window->Preferences->perl EPIC.

Do you have any idea?

Thanks in advance. 


jploski wrote on Fri Sep  5 19:07:22 MEST 2008:
It looks like your PATH is different in both cases and therefore find.exe
can't be located. You can specify PATH for a script in the launch configuration,
or you could change the global environment so that Eclipse uses the same
PATH as your Cygwin shell.
jli023 wrote on Sun Sep  7 23:59:33 MEST 2008:
Hello Jan, 

Thank for your reply. 

The Cygwin path is:

C:/Program Files/MiKTeX 2.7/miktex/bin:
/cygdrive/c/Program Files/MIT/Kerberos/bin:
/cygdrive/c/Program Files/OpenAFS/Client/Program:
/cygdrive/c/Program Files/OpenAFS/Common:
/cygdrive/c/Program Files/SSH Communications Security/SSH Secure Shell:
/cygdrive/c/Program Files/Microsoft SQL Server/80/Tools/Binn:
/cygdrive/c/Program Files/Microsoft SQL Server/90/Tools/binn:
/cygdrive/c/Program Files/Microsoft SQL Server/90/DTS/Binn:
/cygdrive/c/Programs Files/MiKTex 2.6/miktex/bin:
/cygdrive/c/Program Files/Ruby/bin:
/cygdrive/c/Program Files/QuickTime/QTSystem/:
/cygdrive/c/Program Files/Windows Imaging/: 
C:/Program Files/Microsoft Visual Studio/Common/Tools/WinNT:
/cygdrive/c/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin:
/cygdrive/c/Program Files/Microsoft Visual Studio/Common/Tools:
/cygdrive/c/Program Files/Microsoft Visual Studio/VC98/bin:

The system variable is 
C:\cygwin\bin; C:\Program Files\MiKTeX 2.7\miktex\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program
Files\MIT\Kerberos\bin;C:\Program Files\OpenAFS\Client\Program;C:\Program
Files\SSH Communications Security\SSH Secure Shell;C:\Program Files\Microsoft
SQL Server\80\Tools\Binn;C:\Program Files\Microsoft SQL Server\90\Tools\binn;C:\Program
Files\Microsoft SQL Server\90\DTS\Binn;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Programs
Files\MiKTex 2.6\miktex\bin;C:\Program Files\Ruby\bin;C:\Program Files\QuickTime\QTSystem\;C:\Program
Files\Windows Imaging\; 

There are  a lot of difference between the two paths. 

Could you please tell me which path in Cygwin PATH variable affect the find

Thank you very much, 

jploski wrote on Mon Sep  8 18:59:59 MEST 2008:
Locate the find.exe file on your hard disk and add the directory which contains
it to path.
jli023 wrote on Mon Sep  8 23:31:55 MEST 2008:
Thanks for your reply. 

The find.exe is located in c:\cygwin\bin. I have added the path to the system

I searched the web, and could not find out any helpful documents about how
to run perl using Eclipse+EPIC+cygwin on windows. There are documents about
Eclipse+EPIC+ActivePerl on windows. 

The scripts I work on work fine on linux, and I tested it works find in
Cygwin. I really want to know how to run it in Eclipse+EPIC+cygwin as it
allows me to debug the perl scripts. 

Can you point me the right way to do it?

Thank you very much, 

jploski wrote on Tue Sep  9 19:28:09 MEST 2008:
In the run configuration dialog where you enter the project and script name,
there is also an "Environment" tab where you can add environment variables
for the script. I would try adding PATH to it with the value c:/cygwin/bin,
if that doesn't work, I'd also try PATH with a Cygwin-style path (i.e.,

I don't have Windows here so I can't experiment with Cygwin myself.
jli023 wrote on Wed Sep 10 04:30:42 MEST 2008:
The Run/Debug configurations for these perl script are in Perl Local, which
only have three tabs: configuration, arguments, and common. It does not
include the environment tab. 

Thank you any way. I will keep find out how to do it. After I have the answer,
I will post back to the forum. 

Thanks again, 

jli023 wrote on Thu Sep 11 00:49:27 MEST 2008:
According to the document:, I added 

$ENV{PATH} = '/bin:/usr/bin';    # or whatever you need
$ENV{SHELL} = '/bin/sh' if exists $ENV{SHELL};

to the top of the script, it works in Eclipse+EPIC+cygwin. 

Thanks for all of your help. 


Note: The above is an archived snapshot of a forum thread. Use the original thread at to post comments.