QUICKSTART Read the NEWS file. ./configure make make install quirc NOTES If you have problems installing QuIRC, please visit #QuIRC on irc.dal.net for assistance, or failing that, mail quirc@patearl.net. QuIRC is at the moment compatible with TCL 8.x. There is no gaurantee that it will always be backwards compatible. It may lose backwards compatibility without notice. GETTING THE FILES Tcl - http://www.scriptics.com/download/tcl/tcl8_3/tcl8.3.3.tar.gz Tk - http://www.scriptics.com/download/tcl/tcl8_3/tk8.3.3.tar.gz QuIRC - http://patearl.net/quirc/ - http://quirc.sourceforge.net/ CONFIGURING Be sure Tcl/Tk is installed by this point. Most people can simply run: ./configure However, sometimes you may need to use some of the other options provided by configure. You can use: ./configure --help to list the available options. If you do not want to "make install" quirc, you should run configure as: ./configure --with-no-install You will need to run quirc out of the source directory however, (ie ./quirc), because it must be started from within the source directory in order to locate its data files to use when the --with-no-install option is used. If QuIRC does not ./configure and make automatically on your machine, and you don't have an obscure abnormal setup, I would like to get details on what failed so that I may better automate the process. Socks5 Suppport QuIRC has untested socks5 support now. If you find out this works (or doesn't work) please let me know. If you need a socks5 server, or need information about it, the following site will be helpful: http://www.socks.nec.com/ To enable socks support in QuIRC, run: ./configure --with-socks If you want to specify a directory for the socks library, use: ./configure --with-socks=/path/to/libsocks5.* Configure Tips To set your own custom C++ compiler flags, set the environment CXXFLAGS to whatever you want the flags to be, then run: ./configure make One alternative is -g -ggdb -Wall -pg for gnu debugging and profiling. COMPILING This stage is the simplest. Merely run: make If you are having problems compiling and are using a C compiler (such as gcc) or an old compiler, you should make sure you have g++ 2.7.2.3 or above installed. QuIRC will not compile with gcc's "C++" support, it needs the full support provided by g++. If you do not have such a compiler, I suggest obtaining gcc from http://www.gnu.org/software/gcc/gcc.html Make Targets all Default target. Makes entire program and needed files. install Installs the built sources into the appropriate locations. uninstall Removes the files that were installed by the install target. install-strip Same as install, only it strips the debugging information from the executable. clean Deletes files that are created by the make process as well as other "junk" files. distclean Deletes everything that did not come with the distribution. mostlyclean Same as clean, only it doesn't delete the built executables. maintainer-clean Deletes all files that could possibly be made automatically (except for configure and needed files). allclean Deletes ALL files that could possibly be made automatically. Run ./autogen.sh to recreate these files. TAGS Updates a tags table for use in vi/emacs. dist Creates a tarball'd distribution. distcheck Creates a tarball'd distribution and checks to make sure it works. installdirs Creates a couple of directories where the quirc files could go. quirc Makes the main binary file. quircstatic Makes a static version of the main binary file. inst Does: sudo make install rpm Builds the RPMs from the spec file and the source. quircspec Modifies the spec file for the current version. INSTALLING Once QuIRC has been succesfully compiled, you can simply run: make install to install it to its proper location. If you wish to specify a different location for installation, use the --prefix option to ./configure. By default it installs quirc into /usr/local/bin and the data files into /usr/local/share/quirc. If you aren't going to do a system-wide install and are just installing QuIRC for your own use, you can use ./configure --with-no-install. There is one stipulation with this option; you must run quirc from within the source directory so it knows where to find its data files. If you don't want to have to run quirc from the source directory, it is suggested you pass configure the --prefix option to somewhere you have write and read access to, for example, $HOME/usr. Installing Individual User's Data Files Normally, QuIRC is able to automatically detect when its data files need upgrading and will inform you about the process. However, under certain special cases, such as an unofficial upgrade from the author, you may wish to force QuIRC to install new data files. To do so, run: quirc -i The data files are installed in ~/.quirc. UNINSTALLING Run ./configure with the same --prefix that you used for the install ./configure. Then run the uninstall target: ./configure make uninstall If you installed the data files into your home directory, you will also need to run: rm -rf ~/.quirc EXAMPLE The following steps should work to install QuIRC on a machine on which you do not have root priveledges. It does not install tcl/tk in any meaningful manner and compiles them as static libraries to be sure it works. If you have gcc on your system, you could put --enable-gcc on the configure line as well. -Download quirc.tar.gz, tk8.1.tar.gz, and tcl8.1.tar.gz into the same directory. tar zxvf tcl8.1.tar.gz (OR gunzip tcl8.1.tar.gz; tar xvf tcl8.1.tar) cd tcl8.1/unix ./configure --disable-shared make cd ../.. tar zxvf tk8.1.tar.gz cd tk8.1/unix ./configure --disable-shared make cd ../.. cp tcl8.1/unix/libtcl8.1.a . cp tk8.1/unix/libtk8.1.a . tar zxvf quirc.tar.gz cd quirc ./configure --prefix=$HOME/usr make make install ~/usr/bin/quirc PROBLEMS If you get undefined references to Tcl_EvalObjEx, the likely cause is that the compiler is using the 8.0 libraries and the 8.1 header files. You will need to make sure the versions in use are the same by providing options to configure. See ./configure --help for information on the options. If you get dozens of warnings relating to Tcl_CreateFileHandler, and Tcl_DeleteFileHandler, the compiler is likely using an older version of the Tcl/Tk headers than 8.0. You should specify the location of the tcl headers using the options found in ./configure --help. I compile the binary versions linked against glibc2. When used on a libc5 system, even when the binary is statically linked, it crashes on connect. If you are using libc5, you will need to use the source version of QuIRC. QuIRC does not seem to work properly with TCL 8.1 compiled with threads support. I believe this is a problem with Tk itself. The symptoms are high constant CPU usage whenever the main window has focus, and the occaisional freeze.