CTL4j installation guide ************************ This guide assumes that all the software needed will be installed into ~/ctl4j. The tag 'BashRC' marks lines which should be added to your ~/.bashrc. Also remember to refresh your environment after modifying the .bashrc by executing source ~/.bashrc in your Shell. All the files hosted on shuya.ath.cx are also mirrored on http://www.icculus.org/~boris/projects/CTL. Please follow this guide to the letter and do not use packages from your distribution if not told otherwise, because some distributions ship old or broken versions of the required software (SuSE ships a non-compatible ant, for example). In case of problems, first try to use the exact same versions used to write this guide and only contact the author after this fails, too. 1) Python (tested with 2.4.1) Install whatever version your distribution offers. 2) Java Development Kit (tested with 1.5.0_06) URL: http://java.sun.com/j2se/1.5.0/download.jsp Installation: chmod +x jdk-1_5_0*.bin ./jdk-1_5_0*.bin BashRC: export JAVA_HOME=~/ctl4j/jdk1.5.0_* export PATH=$JAVA_HOME/bin:$PATH 3) Apache Ant (tested with 1.6.5) URL: http://apache.easy-webs.de/ant/binaries/ Installation: tar xvfj apache-ant-*.tar.bz2 BashRC: export PATH=~/ctl4j/apache-ant-*/bin:$PATH 4) Other dependencies URL: https://shuya.ath.cx/~neocool/code/CTL/deps-20060415.tar.bz2 Installation: Throw all JARs into ~/ctl4j. mv deps/libjdns_sd.so jdk1.5.0*/jre/lib/i386 tar xvfj deps/prakt-20060415.tar.bz2 BashRC: export CLASSPATH=$CLASSPATH:~/ctl4j/bcel-5.1.jar export CLASSPATH=$CLASSPATH:~/ctl4j/jsch-20050301.jar export CLASSPATH=$CLASSPATH:~/ctl4j/java-getopt-1.0.12.jar export CLASSPATH=$CLASSPATH:~/ctl4j/dns_sd.jar export CLASSPATH=$CLASSPATH:~/ctl4j/junit.jar export CLASSPATH=$CLASSPATH:~/ctl4j/chiffre-classes.jar Note: It might be necessary to recompiled this shared library for yourself on non-x86 systems. 5) CTL4j URL: https://shuya.ath.cx/~neocool/code/CTL/ctl4j-snapshot.tar.bz2 Installation: tar xvfj ctl4j-snapshot.tar.bz2 mv deps/pyparsing.py ctl4j cd ctl4j ant compile BashRC: export CLASSPATH=$CLASSPATH:~/ctl4j/ctl4j/build Note: If you have access to a CTL4j CVS/SVN repository, you should use the code provided there. 6) Simple component URL: https://shuya.ath.cx/~neocool/code/CTL/simple-395.tar.bz2 Installation: tar xvfj simple-395.tar.bz2 cd simple ssh localhost # Make sure that the host-key is known exit ln -sf ~/ctl4j/ctl4j/src/Example.Server src/Server_ echo "$USER@localhost:$HOME/ctl4j/simple/src/Server_ tcp" >locs.txt ant Note: You can base your own component's directory layout on the one provided by this example. A test application will run and prompt you for your password. Two logfiles will be written to /tmp: client-*.log and service-*.log, look there in case of failure. One possible problem is that your machine's hostname is not associated to 127.0.0.1 in your /etc/hosts. Another one is not having tunnelled clear-text passwords available in your SSHd configuration, the CTL4j README talks about fixing that. If you get a runtime exception 'Could not parse location string', make sure that your locs.txt file is correct. If you get SSH 'Auth Failed' messages in your logfile, make sure you have included your password in locs.txt, as alternative you can configure RSA keys like this: ssh-keygen -t rsa # Accept the default values for everything cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys 7) ??? 8) Profit! Please visit the CTL4j homepage (https://shuya.ath.cx/~neocool/code/CTL) for further information and report any errors or suggestions by mail to the address below. -- Boris Buegling