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 S0000000eNS00000008$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.