It is recommended that you get the latest source and compile it yourself. As an alternative, you may download frozen, binary releases of the kernel from http://hipl.hiit.fi/hipl/release/. However, before reporting any bugs, please have a go with the latest source instead of the binaries because the bug may already have been resolved upstream. There is also a Ubuntu based live cd available from the HIPL download pages.
As the first requirement, you also need know the basics on Linux kernel compilation and usage. Refer to linux/README for further instructions.
You need the following software to build and run the HIPL software bundle:
Mandatory:
Linux Operating System
A BEET patched Linux 2.6 kernel with the modules listed in Chapter 4, Compiling the Kernel.
OpenSSL-library and developer headers
libxml2 and its development headers for OpenDHT support
GNU make
the latest versions of autoconf, automake, autoreconf and libtool
iproute
gtk2 library and development headers
Check that you DON'T have libpthread-dev installed (Ubuntu/debian) because atleast in Ubuntu Feisty it messes up the compilation.
Optional Software Requirements:
iputils-ping (or netkit-ping): ping, ping6
ipsec-tools: setkey
ip6tables userspace tools and IPv6 netfilter in the kernel (for the HIP firewall only)
iptables development headers (HIP firewall)
glib (www.gtk.org) and development headers (HIP firewall)
netcat6
latex, dvips, dvipdf, fig2dev, doxygen (for building the HIPL source code documentation)
java compiler for "jip" (java hip resolver) if you want to build HIP enabled java programs
Network Requirements
Make sure that the end-host firewall does not block HIP and ESP traffic (try "iptables -L") or otherwise you won't get any traffic through. As a workaround, you try enabling the NAT mode at the end-host.
Make sure that a middlebox is not blocking HIP traffic. If there is firewall between the machines, it might have been configured to block HIP or ESP traffic. If there is a NAT between the machines, it might also be blocking traffic. Either make sure that the middlebox allows HIP and ESP traffic, or you can try enabling the NAT mode at the end-host.
As an example, this was what was required to type in Ubuntu Gutsy Gibbon for compiling the kernel and userspace software:
aptitude install bazaar libncurses5-dev kernel-package autoreconf automake autoconf libtool g++ libgtk2.0-dev libssl-dev libxml2-dev xmlto doxygen iproute netcat6 iptables-dev
On Fedora 8: yum install bazaar openssl-devel libxml2-devel autoconf automake libtool iproute gtk2-devel xmlto doxygen iptables-devel
Note: Some people reported this error: /usr/include/bits/stdio-lock.h:24:26: error: lowlevellock.h: No such file or directory. This seems to be a bug in the latest libc6-dev package itself. It is just missing a header file. As a workaround, åplease comment #include <lowlevellock.h> from /usr/include/bits/stdio-lock.h.
On 64-bit Fedora 8, ln -s /usr/lib64/libipq.a /usr/lib/libipq.a was necessary. This has not been fixed in the HIPL build properly yet.