How to Install EPIC on PC and Linux

billbell52 wrote on Sat Jul 22 21:06:39 MEST 2006:
Getting EPIC to work.  I am not a perl or Eclipse expert.  I thought I would
share this for novices like me trying to get 

this to work.  It is an awesome tool.  

I just finished getting EPIC to work on both the PC and Linux. I had several
issues but was able to get both working.

PC Install - Windows XP
1.I already had the java jdk on my PC so not need to install.
  If not already there, pulldown from sun and install.  I had version
  jdk1.5.0_04.
2.Installed Eclipse 3.2
3.Tested that Eclipse would run.  Create Icon on desktop.  Set properties
to:

C:\eclipse\eclipse.exe -clean -vm "C:\Program Files\Java\jdk1.5.0_04\bin\java.exe"

  Eclipse worked. 

4.Downloaded EPIC CSV release from
  http://e-p-i-c.sourceforge.net/downloads/epic-devel.zip
  Followed readme instructions to get install.
  This requires unzipping a bunch of files into the plugins dir.
  The other versions do not work (0.3.0 or 0.3.12).
  Wasted many hours figuring this out.
5.Installed Perl 5.8.8 from ActiveState
6.Installed Padwalker from the EPIC site.  This is an unzip into the
  Perl directory.  Needed for perl 5.8.8 since the ActiveState version
  does not work (another few hours wasted).
7.Started Eclipse.  Pointed EPIC plugin to my perl install
  Window >> Preferences >> Perl/EPIC >> Perl Executable =
  "C:\Perl\bin\perl.exe"
  I don't think this is required since I only have 1 version of perl
  and it is in my path.
8.Started eclipse and the Perl plugin worked including debug.

Other - To get updates to work.
  I am behind a proxy server.  I set the proxy server settings
  to http://www... and port 80.  It would not work.  I removed the http://
  and it worked.  Not sure what is going on there.


Linux_32 Install

This is a network install.  I access Linux with VNC.  I run the KDE
desktop.

1.Located java on network /apps/java.  Used jdk1.5.0_03
2.Installed Eclipse 3.2 in my home directory.  I would have IT do
  it on the network but they would not install a development version
  of EPIC with Eclipse.
3.Had to setup VNC session to Linux.  I usually use Sun Solaris.
4.Setup desktop icon.  Set execute to:

/home/billb/eclipse/eclipse -clean -vm /apps/java/jdk1.5.0_03/jre/bin/java

  Eclipse worked.

5.Downloaded EPIC CSV release from
  http://e-p-i-c.sourceforge.net/downloads/epic-devel.zip
  Followed readme instructions to get install.
  This requires unzipping a bunch of files into the Eclipse plugins dir.
6.Had IT install Padwalker in the Perl release.  
  perl -> perl-5.8.0
7.Started Eclipse.  did not worry about pointing EPIC to perl since it
  points to perl by default and I have that on my path.  If you want to
  use a different version then you will have to set it 
  Window >> Preferences >> Perl/EPIC >> Perl Executable =
  /usr/local/bin/
8.Started eclipse and the Perl plugin worked including debug.
9.One more step.  Add this to your perl program:

$| = 1;  

  The command window did not output anything when I ran
  a real simple perl program.  Had to include this in my 
  code to flush the command window. 

Other - To get updates to work.
  I am behind a proxy server.  I set the proxy server settings
  to http://www... and port 80.  It would not work.  I removed the http://
  and it worked.  Not sure what is going on there.

jploski wrote on Sun Jul 23 01:24:17 MEST 2006:
Thanks for the nice write-up.

Note that it is quite easy to install Eclipse centrally and have each user
manage their own preferred features. What your IT should do is:

1. Install Eclipse in some central location
2. Create the file $ECLIPSE_HOME/links/user.link with this single line:

path=@user.home/eclipse-extensions

(or similar)

This way Eclipse will look in $HOME/eclipse-extensions for user-defined
features/plug-ins (such as epic-devel). The following article explains the
required directory structure:

http://www-128.ibm.com/developerworks/library/os-ecl-manage/
jploski wrote on Sun Jul 23 14:31:35 MEST 2006:
My last remark was wrong: sadly, the @user.home construct does not work
in *.link files. The best you can do is put a relative path in there, which
is interpreted as relative to the current working directory at the point
of starting Eclipse. So you can reach my intended solution only if you always
start Eclipse from $HOME or through a wrapper script which changes to $HOME.
billbell52 wrote on Mon Jul 24 19:03:21 MEST 2006:
I may have spoke to soon on this working.  It worked on a simple program
but when I tried to connect to Oracle I get the following,  I checked for
PadWalker and it is there.  When I do other simple programs I can see the
variables.  Any ideas. 

The program works from the command line



Error Parsing Debugger Variables
  *******************************
  *******************************
  +++++++Error Parsing Vars++++++
  *******************************
  *******************************
  NS00000006$DEBUGS000000011NS00000004$dbhS00000017DBI::db=HASH(0x864a898)Use
of uninitialized value in string eq at /home/billb/eclipse/plugins/org.epic.debug_0.3.2//dumpvar_epic.pm
line 233.
  	dumpvar_epic::unwrap('DBI::db=HASH(0x864a898)',3,-1) called at /home/billb/eclipse/plugins/org.epic.debug_0.3.2//dumpvar_epic.pm
line 138
  	dumpvar_epic::DumpElem('DBI::db=HASH(0x864a898)',3,-1) called at /home/billb/eclipse/plugins/org.epic.debug_0.3.2//dumpvar_epic.pm
line 410
  	dumpvar_epic::dumplex('$dbh','REF(0x8584398)',-1) called at (eval 18)[/apps/perl/5.8.0/lib/5.8.0/perl5db.pl:17]
line 2
  	eval '($@, $!, $^E, $,, $/, $\\, $^W) = @saved;package main; $^D = $^D
| $DB::db_stop;
  ;{eval { require PadWalker; PadWalker->VERSION(0.08) }or print $DB::OUT
("PadWalker module not found - please install\\n");do \'dumpvar_epic.pm\'
unless defined &dumpvar_epic::dumpvar_epic;defined &dumpvar_epic::dumpvar_epic
or print $DB::OUT "dumpvar_epic.pl not available.\\n";my $h = eval { PadWalker::peek_my(2)
};my @vars = split (\' \',\'\');$@ and $@ =~ s/ at .*//, print $DB::OUT
($@);my $savout = select($DB::OUT);dumpvar_epic::dumplex($_,$h->{$_},defined
$option{dumpDepth} ? $option{dumpDepth} : -1,@vars) for sort keys %$h;print
"E";select($savout);};;
  ;' called at /apps/perl/5.8.0/lib/5.8.0/perl5db.pl line 17
  	DB::eval called at /apps/perl/5.8.0/lib/5.8.0/perl5db.pl line 1323
  	DB::DB called at /home/billb/workspace/AC/TestConnect.pl line 35
  S0000000e  NS00000008$dirnameS0000000c'/data/arch'NS00000016$export_connect_stringS00000082'apex/apexprod@
(DESCRIPTION=
     (ADDRESS=(PROTOCOL=TCP)(HOST=dflorap01.itg.ti.com)(PORT=1521))
     (CONNECT_DATA=(SID=FLPMTRIC)))'NS00000008$hashrefS00000005undefNS00000009$hostnameS00000016'dflorap01.itg.ti.com'NS00000002$iS000000011NS00000009$passwordS0000000a'apexprod'NS00000004$sidS0000000a'FLPMTRIC'NS00000009$usernameS00000006'apex'E-------------------------------
  -------------------------------
  +++++++Error Parsing Vars++++++
  -------------------------------
  -------------------------------

Program  -- works when you run it from command line.

#!/apps/perl/5.8.0/bin/perl -w
$ENV{ORACLE_HOME}="/apps/oracle/9.2.0.1.0/product";
$| = 1;
use strict;
use DBI;
use DBI qw(:sql_types);
use DBD::Oracle qw(:ora_types);
use File::Find;
use Data::Dumper; $Data::Dumper::Indent=1;

my $DEBUG = 1; ## verbose
#my $dirname = "s:/links/arch";     # PC
my $dirname = "/data/arch";
my $username = 'xxxxxx';
my $password = 'xxxxxx';
my $hostname = 'xxxxx.xxxxx.xx.xxx';
my $sid = 'XXXXXX';

my $hashref;

my $export_connect_string = qq($username/$password@ (DESCRIPTION=
   (ADDRESS=(PROTOCOL=TCP)(HOST=$hostname)(PORT=1521))
   (CONNECT_DATA=(SID=$sid))));

my $dbh = DBI->connect('dbi:Oracle:',$export_connect_string,"", {
  ChopBlanks => 1,
  ShowErrorStatement => 1,
  FetchHashKeyName => 'NAME_uc',
  AutoCommit => 0,
  PrintError => 1,
  RaiseError => 1
} ) or  die "Can't connect to database: $DBI::errstr\n";





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