== !HowTo Build the HAMcast prototype == === Requirements === We developed and tested the HAMcast prototype under Ubuntu Linux (10.10) and MacOS X. However, it should compile and run under any other Linux distribution as well - let us know if you encounter any problems. The minimal requirements to install HAMcast on your system are to provide the following tools and libraries: * build tools (gcc ...) * automake + libtool * Boost library (1.42 or higher) * SSL developer library * PCAP developer library Ubuntu or Debian users may use the following shortcuts to install all necessary packages via apt (root access required): {{{ sudo apt-get install build-essential automake libtool }}} {{{ sudo apt-get install libboost-all-dev libssl-dev libpcap-dev }}} === Build and run HAMcast on Linux or MacOS === In general it is quite simple to get HAMcast working on UNIX platforms. For a start you only have to download our latest prototype release (LINK) and the build.sh script provided. However, you may also manually compile H∀Mcast - this is pretty easy, as we use automake to generate configure-scripts and Makefiles. The source code of H∀Mcast is structured into three main parts, plus some software examples: Multicast API (libhamcast/) Middleware component (middleware/) Technology modules (modules/) Examples (programs/) Run the following sequence of commands in all subdirectories (libhamcast, middleware ...): automake -i && ./configure && make If you have root access, you may also install libhamcast on your system (though we recommend to test it first on a non-productive system) with: make install Note for Linux users If you're getting the error "No CAS for this plattform", then you need to set your hardware architecture by hand using the configure script. run "uname -m" to see your hardware architecture, this should be one of i568, i686 or x86_64, then (re)run the configure script as follows: ./configure CXXFLAGS="-march={YOUR_ARCH}" where {YOUR_ARCH} is your hardware architecture (note: GCC expects x86-64 instead of x86_64), if you are unsure use native. Continue with make.