== !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 HAMcast - this is pretty easy, as we use automake to generate configure-scripts and Makefiles. The source code of HAMcast 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 i386, 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.