Last updated January 18, 2011 04:55, by qmxme
[[Home|» JRuby Project Home Page]] [[Getting Started|» Getting Started with JRuby]]
==Using JRuby on HPUX==
This document describes a workaround to get JRUBY working on HPUX, since untarring <tt>jruby-bin-1.0.tar</tt> causes the following error, in addition to missing jar files in <tt>$JRUBY_HOME/lib</tt>.
x jruby-1.0/lib/ruby/gems/1.8/doc/rspec-1.0.5/ri/Spec/Runner/Formatter/RdocFormatter/
example_passed-i., 216 bytes, 1 tape blocks
tar: ././@LongLink creating as regular file.
x ././@LongLink, 125 bytes, 1 tape blocks
directory checksum error
=== Workaround ===
This document was authored by a newbie. There might be better ways to make JRuby work on HPUX. (Don't know how to test or check if all JRuby functions and features are working with this workaround. At least my scripts seem to work.)
'''Note:''' Before going through all the work below, you might want to try downloading and building GNU tar. I used GNU tar to unpack the JRuby tar and everything worked great. No errors. If you don't want to go through building GNU tar, then here's the workaround:
# <tt>tar xvf jruby-bin-1.0.tar</tt> (ignore the @LongLink errors)
# Copy the following jars to <tt>JRUBY_HOME/lib</tt> directory. (I had a copy of these jar files on a Linux box, where the untar worked successfully.)
asm-2.2.3.jar
asm-commons-2.2.3.jar
backport-util-concurrent.jar
bsf.jar
emma.jar
emma_ant.jar
jarjar-0.7.jar
jline-0.9.91.jar
jruby.jar
junit.jar
3. Modify <tt>$JRUBY_HOME/bin/jruby</tt> bash file as follows. (I had to do this as I don't have bash on my HP box and don't know how to convert a bash script into ksh or some other shell script.)
JRUBY_HOME="<nowiki><<jruby_home>></nowiki>" #Substitute your jruby_home
JRUBY_OPTS=""
JAVA_CMD='java'
JRUBY_SHELL=/bin/sh
CP="$JRUBY_HOME/lib/asm-2.2.3.jar: \
$JRUBY_HOME/lib/asm-commons-2.2.3.jar: \
$JRUBY_HOME/lib/backport-util-concurrent.jar: \
$JRUBY_HOME/lib/bsf.jar: \
$JRUBY_HOME/lib/emma.jar: \
$JRUBY_HOME/lib/emma_ant.jar: \
$JRUBY_HOME/lib/jarjar-0.7.jar: \
$JRUBY_HOME/lib/jline-0.9.91.jar: \
$JRUBY_HOME/lib/jruby.jar: \
$JRUBY_HOME/lib/junit.jar"
JRUBY_BASE="$JRUBY_HOME"
JAVA_MEM=-Xmx256m
JAVA_STACK=-Xss1024k
JAVA_OPTS="$JAVA_MEM $JAVA_STACK -Xverify:none -da"
exec "$JAVA_CMD" $JAVA_OPTS -classpath "$CP" \
"-Djruby.base=$JRUBY_BASE" "-Djruby.home=$JRUBY_HOME" \
"-Djruby.lib=$JRUBY_BASE/lib" -Djruby.script=jruby \
"-Djruby.shell=$JRUBY_SHELL" \
org.jruby.Main $JRUBY_OPTS "$@"
4. Set up your environment variables.
export JAVA_HOME="<nowiki><<java_home>></nowiki>" #Substitute your java_home
export JRUBY_HOME="<nowiki><<jruby_home>></nowiki>" #Substitute your jruby_home
export PATH=$PATH:$JRUBY_HOME/bin:$JAVA_HOME/bin:.
5. Test JRUBY
jruby -e ' puts "jruby is working" '





