Go to the first, previous, next, last section, table of contents.


Compiling Taylor UUCP

If you have a source code distribution, you must first compile it for your system. Free versions of Unix, such as Linux, NetBSD, or FreeBSD, often come with pre-compiled binary distributions of UUCP. If you are using a binary distribution, you may skip to the configuration section (see section Configuring Taylor UUCP).

Follow these steps to compile the source code.

  1. Take a look at the top of `Makefile.in' and set the appropriate values for your system. These control where the programs are installed and which user on the system owns them (normally they will be owned by a special user uucp rather than a real person; they should probably not be owned by root).
  2. Run the shell script configure. This script was generated using the autoconf program written by David MacKenzie of the Free Software Foundation. It takes a while to run. It will generate the file `config.h' based on `config.h.in', and, for each source code directory, will generate `Makefile' based on `Makefile.in'. You can pass certain arguments to configure in the environment. Because configure will compile little test programs to see what is available on your system, you must tell it how to run your compiler. It recognizes the following environment variables:
    `CC'
    The C compiler. If this is not set, then if configure can find `gcc' it will use it, otherwise it will use `cc'.
    `CFLAGS'
    Flags to pass to the C compiler when compiling the actual code. If this is not set, configure will use `-g'.
    `LDFLAGS'
    Flags to pass to the C compiler when only linking, not compiling. If this is not set, configure will use the empty string.
    `LIBS'
    Libraries to pass to the C compiler. If this is not set, configure will use the empty string.
    `INSTALL'
    The program to run to install UUCP in the binary directory. If this is not set, then if configure finds the BSD install program, it will set this to `install -c'; otherwise, it will use `cp'.
    Suppose, for example, you want to set the environment variable `CC' to `rcc'. If you are using sh, bash, or ksh, invoke configure as `CC=rcc configure'. If you are using csh, do `setenv CC rcc; sh configure'. On some systems you will want to use `LIBS=-lmalloc'. On Xenix derived versions of Unix do not use `LIBS=-lx' because this will bring in the wrong versions of certain routines; if you want to use `-lx' you must specify `LIBS=-lc -lx'. If configure fails for some reason, or if you have a very weird system, you may have to configure the package by hand. To do this, copy the file `config.h.in' to `config.h' and edit it for your system. Then for each source directory (the top directory, and the subdirectories `lib', `unix', and `uuconf') copy `Makefile.in' to `Makefile', find the words within @ characters, and set them correctly for your system.
  3. Igor V. Semenyuk provided this (lightly edited) note about ISC Unix 3.0. The configure script will default to passing `-posix' to gcc. However, using `-posix' changes the environment to POSIX, and on ISC 3.0, at least, the default for POSIX_NO_TRUNC is 1. This can lead to a problem when uuxqt executes rmail. IDA sendmail has dbm configuration files named `mailertable.{dir,pag}'. Notice these names are 15 characters long. When uuxqt compiled with the `-posix' executes rmail, which in turn executes sendmail, the later is run under the POSIX environment too. This leads to sendmail bombing out with `'error opening 'M' database: name too long' (mailertable.dir)'. It's rather obscure behaviour, and it took me a day to find out the cause. I don't use the `-posix' switch; instead, I run gcc with `-D_POSIX_SOURCE', and add `-lcposix' to `LIBS'.
  4. On some versions of BSDI there is a bug in the shell which causes the default value for `CFLAGS' to be set incorrectly. If `echo ${CFLAGS--g}' echoes `g' rather than `-g', then you must set `CFLAGS' in the environment before running configure. There is a patch available from BSDI for this bug. (Reported by David Vrona).
  5. On AIX 3.2.5, and possibly other versions, `cc -E' does not work, reporting `Option NOROCONST is not valid'. Test this before running configure by doing something like `touch /tmp/foo.c; cc -E /tmp/foo.c'. This may give a warning about the file being empty, but it should not give the `Option NOROCONST' warning. The workaround is to remove the `,noroconst' entry from the `options' clause in the `cc' stanza in `/etc/xlc.cfg'. (Reported by Chris Lewis).
  6. You should verify that configure worked correctly by checking `config.h' and the instances of `Makefile'.
  7. Edit `policy.h' for your local system. The comments explain the various choices. The default values are intended to be reasonable, so you may not have to make any changes. You must decide what type of configuration files to use; for more information on the choices, see section Configuring Taylor UUCP. You must also decide what sort of spool directory you want to use. If this is a new installation, I recommend `SPOOLDIR_TAYLOR'; otherwise, select the spool directory corresponding to your existing UUCP package.
  8. Type `make' to compile everything. The `tstuu.c' file is not particularly portable; if you can't figure out how to compile it you can safely ignore it, as it is only used for testing. To use STREAMS pseudo-terminals, tstuu.c must be compiled with `-DHAVE_STREAMS_PTYS'; this is not determined by the configure script. If you have any other problems there is probably a bug in the configure script.
  9. Please report any problems you have. That is the only way they will get fixed for other people. Supply a patch if you can (see section Patches), or just ask for help.


Go to the first, previous, next, last section, table of contents.