How to build OOMon from CVS sources
NOTE: Text in fixed width format is the input and output you should see. Boldface indicates user input. Highlighted text is user input that is subject to change. Output may vary slightly, depending on your configuration.
1. Make sure you have CVS installed, then checkout the code from CVS.
$ cvs -d:pserver:anonymous@oomon.cvs.sourceforge.net:/cvsroot/oomon login
Logging in to :pserver:anonymous@oomon.cvs.sourceforge.net:2401/cvsroot
/oomon
CVS password: (leave blank, just press return)
$ cvs -Q -z3 -d:pserver:anonymous@oomon.cvs.sourceforge.net:/cvsroot
/oomon co oomon
2. Change to the newly created "oomon" directory.
$ cd oomon
3. Because you're building from sources in CVS, you will have to generate the "./configure" script. Make sure you have Autoconf installed, then generate "defs.h.in" and "configure".
$ autoheader autoconf/configure.ac > defs.h.in
$ autoconf autoconf/configure.ac > configure ; chmod 755 configure
NOTE: I know there are other ways to accomplish the above, but this appears to be the best way to play nice with the many different platforms and autoconf versions that exist.
4. Build OOMon just as you would if you were building from a snapshot or release tarball.
$ ./configure --prefix=/home/avj/sandbox/cvs/oomon-install
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
this is OOMon version 2.3-DEV
checking for g++... g++
checking for C++ compiler default output... a.out
checking whether the C++ compiler works... yes
--- snip ---
configure: creating ./config.status
config.status: creating makefile
config.status: creating defs.h
OOMon has been configured with the following options:
-- snip --
Compiler: g++
Compiler flags: -g -O2 -Wall
Linker flags:
Libraries: -lresolv -lcrypt -lstdc++ -lnsl
5. Run `make` to build the executable.
$ make
g++ -g -O2 -Wall -I./libs -DHAVE_CONFIG_H -DBOOST_DISABLE_THREADS
-DLOGDIR=\"/home/avj/sandbox/cvs/oomon-install/logs\"
-DETCDIR=\"/home/avj/sandbox/cvs/oomon-install/etc\" -c action.cc
g++ -g -O2 -Wall -I./libs -DHAVE_CONFIG_H -DBOOST_DISABLE_THREADS
-DLOGDIR=\"/home/avj/sandbox/cvs/oomon-install/logs\"
-DETCDIR=\"/home/avj/sandbox/cvs/oomon-install/etc\" -c adnswrap.cc
g++ -g -O2 -Wall -I./libs -DHAVE_CONFIG_H -DBOOST_DISABLE_THREADS
-DLOGDIR=\"/home/avj/sandbox/cvs/oomon-install/logs\"
-DETCDIR=\"/home/avj/sandbox/cvs/oomon-install/etc\" -c arglist.cc
--- snip ---
6. Run `make install` to install OOMon in the directory you chose with `--prefix`.
$ make install
/bin/mkdir -p /home/avj/sandbox/cvs/oomon-install
/bin/mkdir -p /home/avj/sandbox/cvs/oomon-install/bin
/bin/mkdir -p /home/avj/sandbox/cvs/oomon-install/etc
/bin/mkdir -p /home/avj/sandbox/cvs/oomon-install/logs
/usr/bin/install -c oomon /home/avj/sandbox/
cvs/oomon-install/bin
/usr/bin/install -c mkpasswd /home/avj/sandbox/
cvs/oomon-install/bin
/usr/bin/install -c -m 644 oomon.cf /home/avj/sandbox/
cvs/oomon-install/etc/oomon.cf.sample
/usr/bin/install -c -m 644 oomon.cf /home/avj/sandbox/
cvs/oomon-install/etc/oomon.cf
-- snip --
7. Edit the configuration files in '$PREFIX/etc' to your liking. NOTE: All configuration files have a corresponding (and identical to the original) '.sample' file to keep as a reference.
$ cd /home/avj/sandbox/cvs/oomon-install/etc
$ vi oomon.cf userlist.cf remotes.cf scanner.cf oomon-motd.txt
8. Start OOMon!
$ cd /home/avj/sandbox/cvs/oomon-install/bin
$ ./oomon