1How to compile this package: 2 3Its really quite simple -- its about the same difficulty as compiling 4any GNU software (however, this is _not_ GNU software) 5 6 o !!! IMPORTANT !!! If you are upgrading from a prior version of 7 your operating system, or you have changed operating systems, you 8 must do a 'make distclean' and re-do all of the steps in this file 9 for the new OS, or epic may get confused when it tries to compile 10 for your old system! (Especially true for Redhat 5.2 to 6.1) 11 12 o Run 'configure' by using one (and only one) of the following: 13 14 ./configure 15 sh configure 16 17 o By default, 'configure' sets up the software to be run from 18 /usr/local -- if this is not the case for you (ie, you are not 19 the superuser compiling for the entire system) you can run 20 configure with the "--prefix=/path/to/somewhere" flag, for example: 21 22 ./configure --prefix=/usr/home/user 23 24 o EPIC's build infrastructure fully supports all the bells and whistles 25 that configure provides for compiling in different places and for 26 different systems and all that esoteric stuff only used by package 27 maintainers. This support was added because Debian asked for it. 28 29 o On Linux, you _*-MUST-*_ install your system's "ncurses-devel" package 30 or you won't be able to build epic. You should install your system's 31 "gdbm-devel" package or you won't have access to $dbmctl() (hash tables) 32 33 o There are several options supported by our configure script: 34 --with-termcap 35 EPIC will use ONLY termcap, and not look for terminfo. 36 You ought not specify this unless the terminfo support 37 on your system is more broken than your termcap support. 38 --with-socks[=PATH] 39 EPIC will attempt to use SOCKS4 firewall code when making 40 network connections. The PATH should specify the directory 41 tree where all of the interesting files can be found. This 42 is usually something like /usr/local 43 --with-socks5[=PATH] 44 Same thing as above, but for SOCKS5. 45 --with-perl[=PATH] 46 Enable the perl support in the scripting language. 47 WARNING: Currently requires Perl 5.6+. 48 --with-ssl[=PATH] 49 Enable support for SSL connections to servers. 50 51 o You must not try to compile epic with "gcc -O2" because -O2 will 52 generate bad code that leads to random crashes. When you use -O2, 53 gcc assumes the source is conformant to ISO C99's requirements about 54 alias-safety, and EPIC, being a C90 program, does not conform, so the 55 result is undefined behavior (which means it crashes randomly.) This 56 is not a bug in EPIC. You must only compile epic with -O. 57 58 o This software should be able to compile and run on almost 59 any modern unix (A ``modern'' unix is one that supports POSIX 60 system calls and BSD networking in addition to the most commonly 61 accepted non-standard unix extensions, like getpw*() functions.) 62 All I can say is try it and see if it works. It should definitely 63 work on the 4.4BSDs, Linux, SVR4s (Solaris), Digital Unix/Ultrix, 64 AIX and SCO ODT 5, and possibly others. 65 66 o To compile type `make'. This will compile the `epic5' and `wserv4' 67 programs that live in the `source' subdirectory. 68 69 o Once that you are happy with the compilation, you can install them 70 with `make install'. This will install all the binaries, and scripts 71 into the path specified in the Makefile (or when you ran configure). 72 The help files are available as a seperate package. They should be 73 available from the same place you got the source code from. 74 This release uses a new layout format for its various parts that differs 75 from the historical ircII defaults. The binary is called 'epic5', the 76 library is put into .../share/epic by default, and the 'wserv4' 77 binary ends up as .../libexec/wserv4. 78 79 o You can now delete the object files and binaries if you want to 80 save some space by typing `make clean'. If you are sure you probably 81 wont have to compile again, but you want to keep the source code 82 around, you can use `make distclean'. You should `make distclean' 83 before you try to compile again for a different architecture. 84 85 o Help files are not shipped with the base distribution (because of their 86 size and because they are not updated frequently.) You can peruse the 87 help files online at http://www.epicsol.org/help. There is also a 'help' 88 script that implements the /help command if you want to do things the old 89 way. Make sure you /SET HELP_PATH to where you put the help files or it 90 won't be able to find them. 91 92 o Bug reports go to list@epicsol.org. Please see the BUG_FORM file for 93 information about how to file a bug report. Please include as much 94 information as possible. 95 96