Problems
If you have trouble, then subscribe and send mail to dents-list@lists.mindspring.com. We are more than happy to help people with compilation problems. Happy hacking!
Source from CVS
If you have downloaded the source from our CVS-server or got a tarball with a CVS-snapshot keep in mind that many generated files are missing and some generated files are not meant to be used by normal users.
If the common gnu development tools are installed on your host you can run "automake" and "autoconf". If they're not installed you have to run "make distcheck" on a developer-host to get a dist-tarball.
We will try to configure our webserver to build a distribution-tarball regulary. Look for something named "dents_<date>-<version>.tar.gz". You can visit http://www-cip.prakinf.tu-ilmenau.de/~kunysch/ to get dist-tarballs until we finished configuring "http://www.dents.org".
Prerequisites
You have to install glib from the GNOME project (ftp ftp.gtk.org/pub/gtk). It should contain support for POSIX-threads to be thread-safe. Our "./configure" will disable threads if glib doesn't use pthreads. If you would like to use the control facility, you will also need ORBit (also from the GNOME project) and support for POSIX-threads.
The versions being used by some of the developers are:
glib-1.2.4
ORBit-0.4.3 (optional)
but prior versions will also likely work.
Hacking code
If a .debug file exists in the top level directory when configure is run, some useful things can happen:
- It will define DENTS_DEBUG which will include special debugging code.
- It will default to bind()'ing on port 5053 instead of port 53. Useful for coding when not root.
- Debug enables warnings by default.
- It will also source the .debug file and special variables will control
the default behaviour of the configure script:
- pthreads=yes|no
- warnings=yes|no
- ctl=yes|no
- ipv6=yes|no
- etcdir=<path>
- piddir=<path>
- debug=no (turn off -DDENTS_DEBUG again)
If you want to run GDB try "./libtool gdb src/dents".
Configure-options
--enable-debug Turn on debugging. --enable-warnings Enable -Wall if using gcc. --disable-ipv6 Don't try to compile in IPv6. --enable-ctl Try to compile in the control facility --without-pthreads Don't use pthreads --with-etcdir=PATH Full path for main configfile
--with-static=MOD1 ... Use these static driver-modules --with-shared=MOD1 ... Use these shared driver-modules
I you want static modules list all in the same commandline.
Example: --with-static="mod_stddb mod_recursive"
Alternative: edit modules.conf
Testing
I also use dig @localhost -p 5053 to use the higher port. dig also does zone transfers, so I use it to test most things with dents. Just make sure not to use -t axfr to do zone transfer as that will initiate a UDP zone transfer (which both dents and BIND will ignore for DoS reasons).
Patches
Also, if you make any patches and would like to submit them, please send a unified diff (diff -u) to dents-list@lists.mindspring.com or johannes@sventech.com. If you would like to be in the CREDITS file, just add yourself and submit that as part of the patch. If you added more than ten lines you have to mention your name in the AUTHORS file.
