| 2 | |
| 3 | === Requirements === |
| 4 | |
| 5 | We developed and tested the H∀Mcast 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: |
| 6 | |
| 7 | * build tools (gcc ...) |
| 8 | * automake + libtool |
| 9 | * Boost library (1.42 or higher) |
| 10 | * SSL developer library |
| 11 | * PCAP developer library |
| 12 | |
| 13 | Ubuntu or Debian users may use the following shortcuts to install all necessary packages via apt (root access required): |
| 14 | {{{ |
| 15 | sudo apt-get install build-essential automake libtool |
| 16 | }}} |
| 17 | {{{ |
| 18 | sudo apt-get install libboost-all-dev libssl-dev libpcap-dev |
| 19 | }}} |
| 20 | |
| 21 | |
| 22 | === Build and run HAMcast on Linux or MacOS === |
| 23 | |
| 24 | 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: |
| 25 | |
| 26 | Multicast API (libhamcast/) |
| 27 | Middleware component (middleware/) |
| 28 | Technology modules (modules/<technology>) |
| 29 | Examples (programs/<software>) |
| 30 | Run the following sequence of commands in all subdirectories (libhamcast, middleware ...): |
| 31 | |
| 32 | automake -i && ./configure && make |
| 33 | 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: |
| 34 | |
| 35 | make install |
| 36 | |
| 37 | |
| 38 | Note for Linux users |
| 39 | |
| 40 | 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: |
| 41 | |
| 42 | ./configure CXXFLAGS="-march={YOUR_ARCH}" |
| 43 | 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. |