$Id: INSTALL.ScrollZ,v 1.3 2002/03/09 17:55:11 f Exp $ to compile ScrollZ o using configure: - run the `configure' script in the top directory. eg: % cd ScrollZ-VERSION.NUMBER % ./configure if you are using an old version of system v, you might need `sh ./configure'. - this script tries to guess various things about your system that are important to it compiling. it creates various files in this process. configure takes a couple of minutes to run. WARNING: gnu sed version 2.05 (and maybe 2.04 -- i don't know) may not function properly with this configure script. gnu sed version 2.03 does. please do not send me a bug report if you are using gnu sed version 2.05 (such as linux systems), and configure fails to run correctly. also, please do not send me a bug report about this notice if it does work correctly for you. On fairly recent Linux systems the above warning does not apply. - when this has finished, you might want to check the Makefile for the places ScrollZ will be installed. the defaults are /usr/local/share, /usr/local/bin and /usr/local/man. you can either do `make prefix=/opt' or set it with configure, by calling configure with the `--prefix=/opt' switch. - you can set the compile-time paranoid switch (currently turns of CTCP VERSION and FINGER commands returning host system, and user details) with the `--with-paranoid' flag to configure. - you can set the various ScrollZ compile-time flags in the include/defs.h file (after the PATCHED by Flier line) - optionally you can do the above step (the ScrollZ compile time flags) by compiling the SZdist.c program. it is a rather simple program and thus simple `gcc -o SZdist SZdist.c' should suffice. run the program with `./SZdist' and you'll be presented with full screen menu which hopefully you know how to use. optionally the SZdist program can be given the flags on command line which comes very handy if you want to build the ScrollZ program with the same flags you used for older version. simply type `/eval echo $J' and press enter in your old ScrollZ binary and client will print something similar to: `1.8l [AEcTsdPYlN OV givJxZ OPER]'. just copy&paste the string between brackets like this: `./SZdist "AEcTsdPYlN OV givJxZ OPER"' and client will be configured the same way that old version was. note that quotes in the above command line ARE important. o to compile ScrollZ, type `make' in top directory. this will compile the `scrollz' program that resides in the source sub directory. o to compile ircII suplementary programs type `make everything' in top directory. this will compile the `ircflush', `ircio', and `wserv' programs that reside in the source sub directory. o once the programs are compiled, you can install them with `make installeverything'. this will install all the binaries and the ScrollZ manual page. o you can now delete the object files and binaries from your object directory with `make clean'. `make distclean' will also delete any file that `configure' created. this is useful for then using the same sources to compile on a different architecture. notes on SOCKS support. o in order to compile in SOCKS support, you must use `configure' and specify the `--with-socks' switch. you can optionally specify a path (e.g. `--with-socks=/usr/local/lib/libsocks.a'). otherwise, configure will look for the SOCKS library only in the directory specified by the `--prefix' option (`/usr/local/lib' by default). o an irc server getting a connection through a SOCKS proxy will not be able to do RFC1413 identification properly. if you have an identd running on the SOCKS proxy host, the irc server will incorrectly identify all users as `root'. o SOCKS support is incompatible with ScrollZ's support for non-blocking connects. if you don't know what this means, don't worry about it. notes on portability and bugs. o if you encounter a bug, send the bug report with as much details as possible to the ScrollZ mailing list. if you know how to fix the bug you are more than welcome to do so and send the patch along with your bug report. note that when sending bugs usually developers can't do much if you don't tell them how to reproduce the bug. o there is a bug in the compiler shipped with bsdi's operating sytem that causes ircii to fail to compile. if you use the `gcc2' compiler rather than `gcc' or `cc' this problem is alleviated. complain to bsdi about their broken compiler. o some exotic mips machines are not yet accounted for in the configuration process, and must have certain things set specially in the Makefile (these are noted in the Makefile itself). o apparently you will get errors of "__inet_addr" or "__inet_ntoa" as being undefined, if you have BIND version 8 installed into /usr/local (the default) and you use gcc. this is caused by the annoyingly stupid defines in the BIND provided header file, which gcc will happily pick up from /usr/local/include. the solution to this is to add -lbind to the LIBS= line in the Makefile, once configure has run. o on solaris systems with libresolv patches incorporated may see instability (crashes) in the client. (sunos 5.5.1 patches 103680-01, 103683-01, 103686-01, 103743-01, and 103663-01). o Under NEXTSTEP, after you have run configure, you can change the CFLAGS and add "-arch m68k -arch i486 -arch hppa -arch sparc" (without the quotes) to create a multiple architecture binary for all supported hardware platforms.