Public bug reported: Hi,
Ubuntu 16.04.1 LTS jruby=1.7.22-1ubuntu1 nailgun=0.9.1-3 I'm trying to run a ruby script using nailgun: $ cat x.rb #!/usr/bin/jruby puts "Hello, world!" $ $ jruby --ng-server & [1] 5600 $ NGServer 0.9.1 started on all interfaces, port 2113. $ jruby --ng x.rb java.lang.ClassNotFoundException: ng at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.martiansoftware.nailgun.NGSession.run(NGSession.java:242) This is due to the fact that nailgun checks its program name, and cannot be started as "ng" (the symlink in jruby package is named "ng"), only as "ng-nailgun": $ ls -la /usr/share/jruby/tool/nailgun/ng lrwxrwxrwx 1 root root 26 Oct 23 2015 /usr/share/jruby/tool/nailgun/ng -> ../../../../bin/ng-nailgun $ cd /usr/bin/ $ sudo ln -s ng-nailgun ng $ ng java.lang.ClassNotFoundException: ng at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.martiansoftware.nailgun.NGSession.run(NGSession.java:242) $ ng-nailgun NailGun v0.9.0 <...> I don't know if this bug should be addressed to nailgun package or jruby package. There was a similar bug in nailgun: https://bugs.launchpad.net/ubuntu/+source/nailgun/+bug/793859 So, there are two options: 1. If it's considered as a bug in nailgun package, then you need to make nailgun able to run without checking the program name. 2. If it's a jruby package bug, then the following actions helped me: i) Rename symlink to ng-nailgun: $ cd /usr/share/jruby/tool/nailgun/ $ sudo mv ng ng-nailgun ii) Using new symlink in jruby exec script: $ cd $ diff jruby.fixed_nailgun /usr/share/jruby/bin/jruby 335,336c335,336 < if [ -f $JRUBY_HOME/tool/nailgun/ng-nailgun ]; then < exec $JRUBY_HOME/tool/nailgun/ng-nailgun org.jruby.util.NailMain $mode "$@" --- > if [ -f $JRUBY_HOME/tool/nailgun/ng ]; then > exec $JRUBY_HOME/tool/nailgun/ng org.jruby.util.NailMain $mode "$@" 338c338 < echo "error: ng-nailgun executable not found; run 'make' in ${JRUBY_HOME}/tool/nailgun" --- > echo "error: ng executable not found; run 'make' in > ${JRUBY_HOME}/tool/nailgun" $ sudo cp jruby.fixed_nailgun /usr/share/jruby/bin/jruby $ jruby --ng x.rb Hello, world! $ ** Affects: jruby (Ubuntu) Importance: Undecided Status: New ** Package changed: tomcat7 (Ubuntu) => jruby (Ubuntu) -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1676386 Title: jruby fails to run with nailgun support To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/jruby/+bug/1676386/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs