wiki:BaseInstall

Version 10 (modified by Christoph Mayer, 16 years ago) ( diff )

--

Installation

Quick Install

Ariba currently build on Linux systems. Our reference platform is Ubuntu 8.04 with the gcc compiler version 4.2.4. Download the latest Ariba package from the the download site:

Extract the archive and change into the project directory:

> tar xfz ./ariba-x.x.x.tar.gz
> cd ariba-x.x.x.tar.gz

Now, configure, compile, and install Ariba (if not all libraries needed by Ariba are available on your system, read the section 'Prequisites'):

> ./configure
> make
> make install

In case you don't want to install Ariba into your system but to a local place, do:

> mkdir build
> ./configure --prefix=$PWD/build
> make
> make install

Running the PingPong Sample

The PingPong binary pingpong is installed in build/bin. It has one parameter, a configuration file. You can find sample configuration files in the etc/pingpongconfig folder. Three configuration files are provided. You can start the initiator as follows:

> ./pingpong ../../etc/pingpongconfig/settings_initiator.cnf

If this will fail to find the {{{libariba}} you may have to set the {{{LD_LIBRARY_PATH} correct:

> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/ariba/build/lib

When running the pingpong application it will output a large number of log messages and the initiator will wait for other nodes to join. YOu can start them using the configuration files settings_node1 and settings_node2. You may need to adjust the configurations files. Currently both node1 and node2 try to join the initiator on the local machine. This will only work if you start all instances on a local machine.

The following configuration entries are of interest:

  • GENERAL_Initiator - this tells the pingpong application whether to create or join a spovnet - sample value: true or false
  • BASE_nodeid - the nodeid that the node will have. If this entry is not present, the node will choose a random nodeid - sample value: 3
  • BASE_bootstrapIP - that IP and port of the initiator so the node can start the join process - sample value: 127.0.0.1:5002
  • BASE_port - the local port the node should bind on. If this entry is not present, the node will bind on a default Ariba port - sample value: 5010

Once the PingPong sample is running and the nodes have connected, the initiator will send ping messages to the joined nodes every 2 seconds. You can now e.g. test mobility of Ariba and change the IP address of a node, or swith from LAN connection to WLAN. The Links established by the PingPong sample through Ariba are mobility invariant and automatically repaired.

Prequisites

Ariba depends on libraries that may not be installed on your system:

Furthermore, you need default development tools - that are most likely already installed on your system - such as gcc, autoconf, automake, aclocal, libtool, ...

If you installed some of the libraries locally and not system wide (e.g. using ./configure --prefix=MYPATH, you have to tell Ariba where the libraries are installed. In this example we assume that (1) all libraries are installed locally, and not system wide, and (2) that you want to install Ariba locally. The installation process would then look as follow:

> mkdir build
> ./configure 
  --prefix=$PWD/build 
  --with-boost=/home/user/libraries/boost_1_35_0/build   
  CPPFLAGS='-I/home/user/libraries/gmp_4_2_2/build/include 
  -I/home/user/libraries/log4cxx_0_10_0/build/include' 
  LDFLAGS='-L/home/user/libraries/gmp_4_2_2/build/lib 
  -L/home/user/libraries/log4cxx_0_10_0/build/lib 
  -L/home/user/libraries/boost_1_35_0/build/lib'
> make
> make install

This will build and install Ariba into the created {build} folder.

Building for Simulations

Ariba support transparent simulation integration for OMNeT++ and the INET framework. Currently v3 of OMNeT++ is supported. Porting to OMNeT++ 4 will be finished soon. Furthermore, interation with OverSim is in the queue.

To build Ariba for simulated environment, use the --enable-simulation=yes option to configure. Furthermore, you have to tell Ariba where OMNeT++ and INET include files reside. This time we assume that you have installed the required libraries (like Boost) system wide. If this is not the case, you would have include the paths as shown above

> ./configure --prefix=$PWD/build 
  CPPFLAGS='-I/home/user/omnet/include 
  -I/home/user/inet/Network/IPv4 
  -I/home/user/inet/Base 
  -I/home/user/inet/Network/Contract 
  -I/home/user/inet/NetworkInterfaces/Contract 
  -I/home/user/inet/Transport/TCP 
  -I/home/user/inet/Transport/UDP 
  -I/home/user/inet/Transport/Contract'
  --enable-simulation=yes
> make
> make install

This will compile the Ariba library with simulation support and the PingPong sample with simulation support. Note, that the PingPong example will now be compiled as a shared library and reside in build/lib. Details on how to run the simulated PingPong sample are detailed in the next section.

Running the Simulated PingPong Sample

Compiling Ariba for simulations will result in libariba and libpingpong being placed into the build/lib folder. You can find exemplary simulation files in the etc/simulation/omnet3 folder of the Ariba distribution.

You have to adjust some path in the omnetpp.ini file. Fix the path in preload-ned-files. The load-libs path should be correct, in case you did not change the Ariba package.

Next, start the INET binary in the etc/simulation/omnet3. This will start up the simulation that contains 3 router and 15 nodes that have Ariba nodes with the PingPong application on it.

Overview of special configure options

There are several options to configure that are specific to Ariba:

  • --enable-debug=yes - for building a debug build
  • --enable-simulation=yes - for building for simulation integration
  • --enable-profiling=yes - for profiling with gprof

Note: See TracWiki for help on using the wiki.