A file includes/cf/linux.h from dhcp-2.0 is incorrect by falling flat on an assumption that Linux means 32-bit processor. This is false at least on Alpha and UltraSPARC. In such situations a server resulting from a source recompilation is broken. At this moment I worked around the problem by using the following patch: --- dhcp-2.0/includes/cf/linux.h~ Thu May 27 11:44:53 1999 +++ dhcp-2.0/includes/cf/linux.h Mon Dec 6 23:54:19 1999 @@ -41,11 +41,12 @@ #undef __USE_BSD typedef char int8_t; typedef short int16_t; -typedef long int32_t; +typedef int int32_t; typedef unsigned char u_int8_t; typedef unsigned short u_int16_t; -typedef unsigned long u_int32_t; +typedef unsigned int u_int32_t; +typedef unsigned long u_int64_t; #endif /* __BIT_TYPES_DEFINED__ */ typedef u_int8_t u8; @@ -137,3 +138,5 @@ #define ALIAS_NAMES_PERMUTED #define SKIP_DUMMY_INTERFACES + +#define PTRSIZE_64BIT and modifying spec file accorgingly to apply this conditionally on architecture. Still this should be really fixed in sources and the current beta of dhcp-3.0 at ISC is still broken. This bug was reported on dhcp-server mailing list.