Installation Instructions for BitchX 1.1-Final BitchX is known to compile on the following systems (maybe others as well): * BSDI 2.0, 2.1, 3.1, 4.0 * FreeBSD 2.x, 3.x, 4.0 * NetBSD 3.x, 4.x * SunOS 4.1.4, 5.x and above * Linux (All) * IRIX 5, 6 * HP-UX 9.x, 10.x * OSF/1 (DEC Alpha) * Ultrix * AIX * OS/2 (with EMX) * Windows 9x/2000/NT (with Cygwin) * QNX Introduction: Problems may occur during the compilation process of BitchX. If you do have a problem, please gather as much information about the error (*FULL* output of "make") and join #BitchX on EFNet, or use the forums website at http://www.cyberpunkz.org. Bug reports can be submitted via the web at http://bugs.bitchx.org/ Several script writers tend to hang in the #BitchX on EFNet to distribute their work to others. scripts.bitchx.org is a great place where scripts can be found. You can also check out the scripting forum at the previously mentioned forums site. Some features will only work with certain servers -- IRCUMODE and /4OP for example. Therefore, servers such as UnderNet, DalNet, and NewNet, to name a few, will not respond to the user modes given. Scripts can cause problems as well, usually due to bugs within the script. If there is a known bug in the client, please contact the appropriate people, panasync or any of the non-idling ops in #BitchX. If the bug can be reproduced faithfully, then we have enough to determine how it can be resolved. Please check out the FAQ at http://faq.bitchx.org if you should have any troubles compiling. A number of common mistakes and problems users run into are posted in the FAQ and sometimes on the Forums as well. Compiling BitchX: In order to compile BitchX you need to do the following: (Optional steps are marked with an asterisk, "*") 1) Enter the BitchX directory tree; this is the most important step. Executing configure outside the tree is now possible, for example: # mkdir obj-i586-mandrake-linux # cd obj-i586-mandrake-linux # ../configure --prefix=/usr --with-plugins 2) Run the GNU configuration script, "configure". It should find whatever it needs for the compilation of BitchX, such as system includes, ncurses, Tcl, and locations of important files. There are options that can be given to "configure". "configure --help" will detail all of them. Using at least "configure --with-plugins" is recommended if you plan on using one or more of the many plugins that are distributed with BitchX. Add "--with-gtk" if you have gtk and gnome-libs and would like a graphical client. Add "--with-tcl" if you want Tcl script support on i386 systems (Note: most users do not need this). tcl.o for other architecures may be available on BitchX FTP sites. The source code for tcl.o is not publically available. * 3) "include/config.h" may need tweaking if you intend to change the default server list. To change, locate "DEFAULT_SERVER" and remove the original default servers and add as many as you please (These will be appended to the "/usr/local/lib/bx/ircII.servers" and "~/.ircservers" list). Alternatively, you can run "make bxconf" and use the graphical configuration utility to change many of BitchX's options. 4) Execute "make" inside the BitchX directory. If any error messages are shown (Error, *not* Warning messages!!!) that you are unable to resolve on your own, seek help. "README" has more information on where you can go for help. * 5) Edit "include/defs.h". On some systems, configure may not properly determine one or two definitions ("#define foo"). Search for offending defines which cause make not to proceed compiling. Usually, there should be a "#define" or "#undef" located on the line make has shown. A reversal of the definition (change "#define" to "#undef", or vice versa). Go on to step 6 once you have completed this step. If problems still persist, see "README" for information on where you can go for help. Note: DOING THIS STEP IS NOT RECOMMENDED. If "configure" fails to properly define something for whatever reason, PLEASE REPORT THIS AS A BUG to the current configure script maintainer (see "README" for details), rather than trying to edit "include/defs.h" by hand. * 6) Debugging information may be left into the compiled binary, so a "strip source/BitchX" solves the rather large size seen previously. However, "make install" (Step 7) should strip the binaries for you. 7) Execute "make install". This should install the BitchX binary to "/usr/local/bin". Commonly, users may not have superuser access, thus a refusal ("permission denied" message) will occur. If you still insist on using "make install" to install BitchX, it is required that you change the installation path defined in step 4 by using "configure --prefix=/home/johndoe", for example, or use "make install_local" to install the binary to your home directory. However, it is recommened that you use the "--prefix=" method if you wish to have a full BitchX installation with all of the help files installed. * 8) It is not a requirement to use function-filled scripts with BitchX, because the aim of BitchX is to create a scriptless client, or more appropriately, a client less dependant upon scripts. With the development of BitchX, scripts will become quickly outdated due to the incompatibility caused by new commands, hooks, or hardcoded replacements for a function in the script. This is merely a warning. -- Last Updated: Rob Andrews sin@bitchx.org Match 26th, 2004 Previous authors: David Walluck BarK0de BlackJac