User Tools

Site Tools


iprohc-install

How to install the IP/ROHC tunnel

This page is about the installation of the IP/ROHC tunnel.

Prerequisites

Check that your system satisfies to all the following prerequisites:

  • Cmake as build tool (for versions < 0.8),
  • autotools as build tool (for versions >= 0.8),
  • make as build tool,
  • pkg-config tool,
  • a C compiler such as GCC or Clang,
  • libnetlink.h for configuration of IP addresses (provided by the package iproute-dev on Debian),
  • libyaml for configuration parsing,
  • GnuTLS for securing the control channel,
  • ROHC library for compressing packet headers (version >= 1.6.0 required, dynamic library required).

The installation of the above components is out of scope of the current tutorial. You may use the package manager provided with your system, or install them from sources at your convenience. Note that some of them could be already installed on your system.

Build on Unix-like systems

The instructions hereafter are for native build on Unix-like systems, such as Linux or FreeBSD.

  1. Log in as normal user on the system on which you want to install the IP/ROHC application.
  2. Download the sources:
    • Download the source archive of the lastest IP/ROHC release on the right of the download page.
  3. Extract the source code:
    $ tar xvzf iprohc-X.Y.tar.gz
  4. Go inside the source directory:
    $ cd iprohc-X.Y
  5. Configure the application:
    $ cmake CMakeLists.txt -DCMAKE_INSTALL_PREFIX=/usr    # for versions < 0.8
    $ ./configure --prefix=/usr                           # for versions >= 0.8
  6. Build the code:
    $ make all
  7. Install the library as root:
    $ su
    # make install
    # ldconfig          # for versions < 0.8
    # exit

The IP/ROHC application is now installed on your system in subdirectories of /usr. In case you want to change the installation path, run at step 5:

$ cmake CMakeLists.txt -DCMAKE_INSTALL_PREFIX=/path/to/your/directory    # for versions < 0.8
$ ./configure --prefix=/path/to/your/directory                           # for versions >= 0.8

Once the IP/ROHC application is installed, please follow the instructions to run the IP/ROHC application.

Possible problems and solutions

ROHC library not found

If cmake stops with the following error:

-- checking for module 'rohc'
--   package 'rohc' not found
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:97 (MESSAGE):
  Could NOT find ROHC (missing: ROHC_LIBRARIES)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:288 (_FPHSA_FAILURE_MESSAGE)
  common/FindROHC.cmake:35 (find_package_handle_standard_args)
  common/CMakeLists.txt:6 (find_package)


-- Configuring incomplete, errors occurred!

Then the ROHC library is not installed at all or not installed in a standard location. Either install it, or specify the correct location with the PKG_CONFIG_PATH environment variable:

 $ PKG_CONFIG_PATH=/path/to/your/directory/lib/pkgconfig/ cmake CMakeLists.txt

ROHC library too old

If cmake stops with the following error:

-- Looking for rohc_compress2 in rohc_comp
-- Looking for rohc_compress2 in rohc_comp - not found
CMake Error at common/FindROHC.cmake:41 (message):
  rohc_compress2() not available in the ROHC library, please upgrade to 1.6.0
  or greater
Call Stack (most recent call first):
  common/CMakeLists.txt:6 (find_package)


-- Configuring incomplete, errors occurred!

Then the installed ROHC library is too old. Please update it with a newer version.

If you get errors related to netlink you need to install the development version of the iproute library. On Fedora, RedHat Entreprise Linux (RHEL), or any RHEL-based distributions please run:

# yum install iproute-devel

On Debian, please run:

# apt-get iproute-dev

Missing yaml and GnuTLS headers

On some systems, it is not enough to install the yaml and libgnutls packages. You need the related development packages. They might be named yaml-dev and libgntls-dev.

iprohc-install.txt · Last modified: 2016/11/12 10:15 by didier