Manually compiling VLINK and TLINK

### Index Up <<

## Manually compiling VLINK and TLINK

Change directories to the `src` directory, then run the GNU configure script:

        cd src
        ./configure

You will see some output as the configure script checks your system. Then compile the programs:

        perl compile.pl

To compile manually:

        cc vlink.c -o vlink
        cc tlink.c -o tlink

On manual compiles, you can ensure your C compiler will be invoked properly with this little ditty:

        perl -e 'do "syscfg"; system("$CC $LIBS $CFLAGS $DEFS -o tlink tlink.c");'
        perl -e 'do "syscfg"; system("$CC $LIBS $CFLAGS $DEFS -o vlink vlink.c");'

On some systems you can make the executable smaller with the strip program. But don't worry about it if strip is not on your system.

        strip vlink
        strip tlink

If you want MiniVend to run under a different user account than your own, make that user the owner of vlink. (You probably need to be root to do this). Do not make vlink owned by root, because making vlink setuid root is an huge and unnecessary security risk. It should also not normally run as the default WWW user (often `nobody` or `http`)).

        chown minivend vlink

Move the vlink executable to your cgi-bin directory:

        mv vlink /the/cgi-bin/directory

Make vlink setuid:

        chmod u+s /the/cgi-bin/directory/vlink

Most systems unset the SUID bit when moving the file, so you should change it after moving.

The SCRIPT_NAME as produced by the HTTP server must match the name of the program. (As usual, you should let the makecat program do the work.)

### Index Up <<