= !OverSim Installation Instructions = These instructions show you how to install !OverSim on Linux, Mac OS X and Windows: 1. Requirements for OMNeT++ and !OverSim: * For Linux: * [http://tcl.sourceforge.net/ Tcl/Tk 8.4 with BLT] and [http://gmplib.org/ libgmp] * On Ubuntu you can install these packages with: {{{ sudo apt-get install tk8.4-dev libgmp3-dev blt-dev }}} * For Mac OS X 10.5 * [http://developer.apple.com/TOOLS/xcode/ Xcode 3.x] and [http://www.finkproject.org/ Fink (includes libgmp)] * After installation of Fink open a terminal and install libgmp with: {{{ sudo apt-get install libgmp3-dev }}} * For Windows: Everything you need is already included in the OMNeT++ 4.0 package. 2. Download OMNeT++ 4.0 ([http://www.omnetpp.org/omnetpp/doc_download/2198-omnet-40-source--ide--tgz Linux/Mac] or [http://www.omnetpp.org/omnetpp/doc_download/2199-omnet-40-win32-source--ide--mingw-zip Windows] version) from http://www.omnetpp.org/ after reading the [http://www.omnetpp.org/home/license License] 3a. (Linux/Mac only): Create a new directory (in the following we assume you want to install OMNeT++ and !OverSim to ~/sim/) and extract OMNeT++: {{{ mkdir ~/sim cd ~/sim tar xzvf /tmp/omnetpp-4.0-src.tgz }}} 3b. (Windows only): Extract the OMNeT++ archive to a new directory (e.g. C:\sim\omnetpp-4.0) and double click on {{{mingwenv.cmd}}} 4. (Linux/Mac only): Add the following lines to your .bashrc or .profile: {{{ export PATH=~/sim/omnetpp-4.0/bin:$PATH }}} 5. '''Optional step''': Apply the following patches to OMNeT++: - Perfomance improvements: [http://dev.omnetpp.org/bugs/file_download.php?file_id=12&type=bug Download simtime_by_reference.patch] ([http://dev.omnetpp.org/bugs/view.php?id=22 View bugreport 22]) - Better layouter for visualization: [http://dev.omnetpp.org/bugs/file_download.php?file_id=14&type=bug Download better_layout.patch] ([http://dev.omnetpp.org/bugs/view.php?id=38 View bugreport 38]) - Shorter real world messages: [http://dev.omnetpp.org/bugs/file_download.php?file_id=20&type=bug Download msgc_sizetype.patch] ([http://dev.omnetpp.org/bugs/view.php?id=101 View bugreport 101]) {{{ cd ~/sim/omnetpp-4.0 patch -p0 < /tmp/simtime_by_reference.patch (repeat for all patches) }}} 6. Compile OMNeT++ (no need to change the directoy on Windows): {{{ cd ~/sim/omnetpp-4.0 ./configure make }}} 7. Download the patched version of the INET framework [http://www.oversim.org/chrome/site/INET-OverSim-20090317.tgz INET-OverSim-20090317.tgz] and extract in next to your OMNeT++ installation: {{{ cd ~/sim tar xzvf /tmp/INET-OverSim-20090317.tgz }}} 8. Compile the INET framework: {{{ cd ~/sim/INET-OverSim-20090317 make }}} 9. Download the latest !OverSim snapshot [http://www.oversim.org/chrome/site/OverSim-20090908.tgz OverSim-20090908.tgz] and extract in next to your OMNeT++ installation: {{{ cd ~/sim tar xzvf /tmp/OverSim-20090908.tgz }}} 10. Compile !OverSim: {{{ cd ~/sim/OverSim-20090908 make }}} Congratulations - now you should have a working !OverSim installation! For instructions how to use !OverSim look at OverSimUsage. == How to use Eclipse to compile !OverSim == You can also use the included ''Eclipse IDE'' to compile !OverSim: * Start Eclipse with ''omnetpp'' * Create a new workspace by choosing a new workspace directory on Eclipse startup * ''File''->''Import''->''General''->''Existing Projects into Workspace''->''Next''->select the ''INET-!OverSim-20090317'' directory->''Finish'' * Repeat the same steps for the !OverSim project * The build process should start automatically - if not, hit ''Ctrl->B'' == How to build !OverSim for a simulation machine or embedded device without X11 == * You don't have to install Tcl/Tk, if you only need ''Cmdenv''. Add the following option to ''omnetpp-4.0/configure.user'': {{{ NO_TCL=true }}} * Increase compiler optimization by adding the following to ''omnetpp-4.0/configure.user'': {{{ CFLAGS_RELEASE='-O3 -DNDEBUG=1' }}} * Use "make MODE=release" to compile INET and OverSim for optimized binaries without debug information. == Tips for migrating your own !OverSim simulation models to OMNeT++ 4.0 == * Read the [http://omnetpp.org/doc/omnetpp40/migration/migration.html official OMNeT++ 4.0 migration guide]! * Try to use the OMNeT++ migration tools migratened, migrateini, migratemsg and migratecpp. * Pay special attention to the changed NED and INI syntax - !OverSim now uses NED inheritance (e.g. for !BaseOverlay). * Some ini file parameters now have units like seconds or bytes.