diff -Naur a/bin/jruby.bash b/bin/jruby.bash
--- a/bin/jruby.bash	2014-05-03 17:55:20.665665383 +0200
+++ b/bin/jruby.bash	2014-05-03 17:58:37.095630622 +0200
@@ -25,29 +25,7 @@
   JAVA_VM=-client
 fi
 
-# get the absolute path of the executable
-SELF_PATH=$(builtin cd -P -- "$(dirname -- "$0")" >/dev/null && pwd -P) && SELF_PATH=$SELF_PATH/$(basename -- "$0")
-
-# resolve symlinks
-while [ -h $SELF_PATH ]; do
-    # 1) cd to directory of the symlink
-    # 2) cd to the directory of where the symlink points
-    # 3) get the pwd
-    # 4) append the basename
-    DIR=$(dirname -- "$SELF_PATH")
-    SYM=$(readlink $SELF_PATH)
-    SELF_PATH=$(cd $DIR && cd $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM")
-done
-
-PRG=$SELF_PATH
-
-JRUBY_HOME_1=`dirname "$PRG"`           # the ./bin dir
-if [ "$JRUBY_HOME_1" = '.' ] ; then
-  cwd=`pwd`
-  JRUBY_HOME=`dirname $cwd` # JRUBY-2699
-else
-  JRUBY_HOME=`dirname "$JRUBY_HOME_1"`  # the . dir
-fi
+JRUBY_HOME="${JRUBY_HOME:-/usr/share/jruby}"
 
 if [ -z "$JRUBY_OPTS" ] ; then
   JRUBY_OPTS=""
@@ -79,17 +57,7 @@
 done
 JRUBY_OPTS=${JRUBY_OPTS_TEMP}
 
-if [ -z "$JAVACMD" ] ; then
-  if [ -z "$JAVA_HOME" ] ; then
-    JAVACMD='java'
-  else
-    if $cygwin; then
-      JAVACMD="`cygpath -u "$JAVA_HOME"`/bin/java"
-    else
-      JAVACMD="$JAVA_HOME/bin/java"
-    fi
-  fi
-fi
+JAVACMD=java
 
 if [ -z "$JAVA_MEM" ] ; then
   JAVA_MEM=-Xmx500m
@@ -130,21 +98,7 @@
 
 CP_DELIMITER=":"
 
-# add main jruby jar to the bootclasspath
-for j in "$JRUBY_HOME"/lib/jruby.jar "$JRUBY_HOME"/lib/jruby-complete.jar; do
-    if [ ! -e "$j" ]; then
-      continue
-    fi
-    if [ "$JRUBY_CP" ]; then
-        JRUBY_CP="$JRUBY_CP$CP_DELIMITER$j"
-        else
-        JRUBY_CP="$j"
-    fi
-    if [ $JRUBY_ALREADY_ADDED ]; then
-        echo "WARNING: more than one JRuby JAR found in lib directory"
-    fi
-    JRUBY_ALREADY_ADDED=true
-done
+JRUBY_CP="$(java-config-2 -d -p jruby)"
 
 if $cygwin; then
     JRUBY_CP=`cygpath -p -w "$JRUBY_CP"`
@@ -152,29 +106,7 @@
 
 # ----- Set Up The System Classpath -------------------------------------------
 
-if [ "$JRUBY_PARENT_CLASSPATH" != "" ]; then
-    # Use same classpath propagated from parent jruby
-    CP=$JRUBY_PARENT_CLASSPATH
-else
-    # add other jars in lib to CP for command-line execution
-    for j in "$JRUBY_HOME"/lib/*.jar; do
-        if [ "$j" == "$JRUBY_HOME"/lib/jruby.jar ]; then
-          continue
-        fi
-        if [ "$j" == "$JRUBY_HOME"/lib/jruby-complete.jar ]; then
-          continue
-        fi
-        if [ "$CP" ]; then
-            CP="$CP$CP_DELIMITER$j"
-            else
-            CP="$j"
-        fi
-    done
-
-    if [ "$CP" != "" ] && $cygwin; then
-        CP=`cygpath -p -w "$CP"`
-    fi
-fi
+CP="${JRUBY_PARENT_CLASSPATH}"
 
 if $cygwin; then
     # switch delimiter only after building Unix style classpaths
@@ -254,15 +186,7 @@
         java_args=("${java_args[@]}" "-Djava.awt.headless=true") ;;
      # Run under JDB
      --jdb)
-        if [ -z "$JAVA_HOME" ] ; then
-          JAVACMD='jdb'
-        else
-          if $cygwin; then
-            JAVACMD="`cygpath -u "$JAVA_HOME"`/bin/jdb"
-          else
-            JAVACMD="$JAVA_HOME/bin/jdb"
-          fi
-        fi 
+        JAVACMD='jdb' 
         java_args=("${java_args[@]}" "-sourcepath" "$JRUBY_HOME/lib/ruby/1.8:.")
         JRUBY_OPTS=("${JRUBY_OPTS[@]}" "-X+C") ;;
      --client)
@@ -310,8 +234,6 @@
 
 JAVA_OPTS="$JAVA_OPTS $JAVA_MEM $JAVA_MEM_MIN $JAVA_STACK"
 
-JFFI_OPTS="-Djffi.boot.library.path=$JRUBY_HOME/lib/jni"
-
 if $cygwin; then
   JRUBY_HOME=`cygpath --mixed "$JRUBY_HOME"`
   JRUBY_SHELL=`cygpath --mixed "$JRUBY_SHELL"`
@@ -349,8 +271,9 @@
     JRUBY_OPTS=''
   fi
 
-  "$JAVACMD" $PROFILE_ARGS $JAVA_OPTS "$JFFI_OPTS" "${java_args[@]}" -classpath "$JRUBY_CP$CP_DELIMITER$CP$CP_DELIMITER$CLASSPATH" \
+  "$JAVACMD" $PROFILE_ARGS $JAVA_OPTS "${java_args[@]}" -classpath "$JRUBY_CP$CP_DELIMITER$CP$CP_DELIMITER$CLASSPATH" \
     "-Djruby.home=$JRUBY_HOME" \
+    "-Djruby.bindir=/usr/bin" \
     "-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \
     "-Djruby.shell=$JRUBY_SHELL" \
     $java_class $JRUBY_OPTS "$@"
@@ -372,7 +295,7 @@
 else
   if $cygwin; then
     # exec doed not work correctly with cygwin bash
-    "$JAVACMD" $JAVA_OPTS "$JFFI_OPTS" "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \
+    "$JAVACMD" $JAVA_OPTS "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \
       "-Djruby.home=$JRUBY_HOME" \
       "-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \
       "-Djruby.shell=$JRUBY_SHELL" \
@@ -385,8 +308,9 @@
 
     exit $JRUBY_STATUS
   else
-    exec "$JAVACMD" $JAVA_OPTS "$JFFI_OPTS" "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \
+    exec "$JAVACMD" $JAVA_OPTS "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \
       "-Djruby.home=$JRUBY_HOME" \
+      "-Djruby.bindir=/usr/bin" \
       "-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \
       "-Djruby.shell=$JRUBY_SHELL" \
       $java_class $mode "$@"