User Tools

Site Tools


Sidebar

opensand:manuals:5.2:compilation_manual:advanced

Advanced Compilation Manual

This page describes how to manually compile the OpenSAND source code.

The source code is available in the Net4Sat GitLab OpenSAND project. These procedures are based on the release version 5.0.0.

By default, warning are treated as errors during compilation, which may cause the compilation not to finish. To change this, the autogen.sh script can be edited (comment the –enable-fail-on-warning argument of the ./configure command), or simply launch the ./configure with the appropriate arguments.
The compilation checking command make check is optional but recommended.

Output

The Output component provides an API to send probes and logs to the Collector.
Its source code is stored in the opensand-output directory.

To compile and install it, execute the following commands:

$ cd opensand-output
$ ./autogen.sh
$ make
$ make check
$ sudo make install

Configuration

The Configuration component provides an API to read the OpenSAND configuration files.
Its source code is stored in the opensand-conf directory.

This component compilation requires the installation of the Output library:

  • from source
  • from packages: libopensand-output libopensand-output-dev

To compile and install it, execute the following commands:

$ cd opensand-conf
$ ./autogen.sh
$ make
$ make check
$ sudo make install

Real Time

The Real Time component provides real time threads and channels to exchange data between them.
Its source code is stored in the opensand-rt directory.

This component compilation requires the installation of the Output library:

  • from source
  • from packages: libopensand-output libopensand-output-dev

To compile and install it, execute the following commands:

$ cd opensand-rt
$ ./autogen.sh
$ make
$ make check
$ sudo make install

Core

The Core component provides the binaries that emulate a ST, a GW or a SAT and provides the structure to interface with external libraries.
Its source code is stored in the opensand-core directory.

This component compilation requires the installation of the Real Time, Configuration and Output libraries:

  • from source
  • from packages: libopensand-output libopensand-output-dev libopensand-conf libopensand-conf-devlibopensand-rt libopensand-rt-dev

To compile and install it, execute the following commands:

$ cd opensand-core
$ ./autogen.sh
$ make
$ make check
$ sudo make install

Daemon

The Daemon component controls an OpenSAND entity (ST, GW or SAT).
Its source code is stored in the opensand-daemon directory.

To install it, execute the following commands:

$ cd opensand-daemon
$ sudo python2.7 setup.py install

Collector

The Collector component aggregates probes and logs from OpenSAND Daemons.
Its source code is stored in the opensand-collector directory.

To install it, execute the following commands:

$ cd opensand-collector
$ sudo python2.7 setup.py install

Manager

The Manager component controls all OpenSAND entities and displays probes and logs.
Its source code is stored in the opensand-manager directory.

To install it, execute the following commands:

$ cd opensand-manager
$ sudo python2.7 setup.py install

GSE plugin

The GSE plugin interface the external GSE encapsulation library.
Its source code is stored in the opensand-plugins/encapsulation/gse directory.

This component compilation requires the installation of the Plugin, Configuration and Output libraries:

  • from source
  • from packages: libopensand-output libopensand-output-dev libopensand-conf libopensand-conf-devlibopensand-plugin libopensand-plugin-dev

It also requires the installation of the external GSE encapsulation library:

  • from source
  • from packages: libgse libgse-dev

To compile and install it, execute the following commands:

$ cd opensand-plugins/encapsulation/gse
$ ./autogen.sh
$ make
$ make check
$ sudo make install

The src/gse.py file must be placed into the opensand_manager_core/modules directory to enable its configuration by the Manager.

RLE plugin

The RLE plugin interface the external RLE encapsulation library.
Its source code is stored in the opensand-plugins/encapsulation/rle directory.

This component compilation requires the installation of the Plugin, Configuration and Output libraries:

  • from source
  • from packages: libopensand-output libopensand-output-dev libopensand-conf libopensand-conf-devlibopensand-plugin libopensand-plugin-dev

It also requires the installation of the external RLE encapsulation library:

  • from source
  • from packages: librle librle-dev

To compile and install it, execute the following commands:

$ cd opensand-plugins/encapsulation/rle
$ ./autogen.sh
$ make
$ make check
$ sudo make install

The src/rle.py file must be placed into the opensand_manager_core/modules directory to enable its configuration by the Manager.

ROHC plugin

The ROHC plugin interface the external ROHC lan adaptation library.
Its source code is stored in the opensand-plugins/lan_adaptation/rohc directory.

This component compilation requires the installation of the Plugin, Configuration and Output libraries:

  • from source
  • from packages: libopensand-output libopensand-output-dev libopensand-conf libopensand-conf-devlibopensand-plugin libopensand-plugin-dev

It also requires the installation of the external ROHC lan adaptation library:

  • from source
  • from packages: librohc3 librohc-dev

To compile and install it, execute the following commands:

$ cd opensand-plugins/lan_adaptation/rohc
$ ./autogen.sh
$ make
$ make check
$ sudo make install

The src/rohc.py file must be placed into the opensand_manager_core/modules directory to enable its configuration by the Manager.

opensand/manuals/5.2/compilation_manual/advanced.txt · Last modified: 2020/04/24 16:27 by duboise