I emerged jython with the jikes and readline use flags enabled. If I specify readline support I get the following error. russ@russ persistence $ jython -Dpython.console=org.python.util.ReadlineConsole Jython 2.1 on java1.4.2_05 (JIT: null) Exception in thread "main" java.lang.NoClassDefFoundError: org/gnu/readline/ReadlineLibrary at org.python.util.ReadlineConsole.<init>(ReadlineConsole.java:23) at org.python.util.ReadlineConsole.<init>(ReadlineConsole.java:13) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at java.lang.Class.newInstance0(Class.java:308) at java.lang.Class.newInstance(Class.java:261) at org.python.util.jython.main(jython.java:91) To fix this I changed /usr/bin/jython from... `java-config --java` -Dpython.home="/usr/share/jython" -classpath "`java-config --classpath=jython`:$CLASSPATH" "org.python.util.jython" "$@" to... `java-config --java` -Dpython.home="/usr/share/jython" -classpath "`java-config --classpath=jython,libreadline-java`:$CLASSPATH" "org.python.util.jython" "$@" This added the readline jar file to the path. Executing jython again I get the following. root@russ persistence # jython -Dpython.console=org.python.util.ReadlineConsole Jython 2.1 on java1.4.2_05 (JIT: null) Exception in thread "main" java.lang.UnsatisfiedLinkError: no JavaEditline in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1517) at java.lang.Runtime.loadLibrary0(Runtime.java:788) at java.lang.System.loadLibrary(System.java:834) at org.gnu.readline.Readline.load(Readline.java:133) at org.python.util.ReadlineConsole.<init>(ReadlineConsole.java:23) at org.python.util.ReadlineConsole.<init>(ReadlineConsole.java:13) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at java.lang.Class.newInstance0(Class.java:308) at java.lang.Class.newInstance(Class.java:261) at org.python.util.jython.main(jython.java:91) I don't have a JavaEditLine library, but I do have a JavaReadline library. So, I do the following. root@russ lib # ln -s libJavaReadline.so libJavaEditline.so russ@russ persistence $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib jython -Dpython.console=org.python.util.ReadlineConsole Now when I run jython, the readline support is there and it works as expected. Reproducible: Always Steps to Reproduce: 1. 2. 3. Actual Results: Expected Results: I think that if the readline use flag is set, then the readline jar file should be added to the classpath when starting jython. I think jython should automatically start in readline mode when built using the readline flag so that users don't have to add "-Dpython.console=org.python.util.ReadlineConsole" to the command line. Not sure about the best way to handle the library path problem. It appears that the library name has changed recently.
Forgot version information: dev-java/jython: 2.1-r5 dev-java/libreadline-java: 0.8.0
seems like you need python.console=org.python.util.ReadlineConsole python.console.readlinelib=GnuReadline for libreadline the Editline(default) seems to have been broken forever from what i can find(?) i added a note to he ebuild on how to enable it