HAMcast developers

Version 4 (modified by Sebastian Meiling, 13 years ago) (diff)

--

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 H∀Mcast 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/<technology>) Examples (programs/<software>) 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.