Skip to content

airsim/airinv

Repository files navigation

Summary:

AirInv is a C++ library of airline inventory management classes and functions, mainly targeting simulation purposes.

AirInv makes an extensive use of existing open-source libraries for increased functionality, speed and accuracy. In particular the Boost (C++ Standard Extensions: http://www.boost.org) library is used.

AirInv is the one of the components of the Travel Market Simulator (http://www.travel-market-simulator). However, it may be used in a stand-alone mode.

Getting and installing from the Fedora/CentOS/RedHat distribution:

Just use Yum: yum -y install airinv-devel airinv-doc

You can also get the RPM packages (which may work on Linux distributions like Suse and Mandriva) from the Fedora repository (e.g., for Fedora 22, http://fr2.rpmfind.net/linux/fedora/releases/22/Everything/)

Building the library and test binary from Git repository:

The Git repository may be cloned as following: $ git clone git@github.com:airsim/rmol.git rmolgit # through SSH $ git clone https://github.com/airsim/rmol.git # if the firewall filters SSH cd rmolgit git checkout trunk

Then, you need the following packages (Fedora/RedHat/CentOS names here, but names may vary according to distributions):

  • cmake
  • gcc-c++
  • boost-devel / libboost-dev
  • zeromq-devel
  • python-devel / python-dev
  • gettext-devel / gettext-dev
  • sqlite3-devel / libsqlite3-dev
  • readline-devel / readline-dev
  • ncurses-devel
  • soci-mysql-devel, soci-sqlite3-devel
  • stdair-devel / libstdair-dev
  • airrac-devel / libairrac-dev
  • rmol-devel / librmol-dev
  • sevmgr-devel / libsevmgr-dev
  • doxygen, ghostscript, graphviz
  • tetex-latex (optional)
  • rpm-build (optional)

Building the library and test binary from the tarball:

The latest stable source tarball (airinv*.tar.gz or .bz2) can be found here: https://sourceforge.net/projects/airinv/files/

To customise the following to your environment, you can alter the path to the installation directory: export INSTALL_BASEDIR=/home/user/dev/deliveries export AIRINV_VER=1.00.2 if [ -d /usr/lib64 ]; then LIBSUFFIX=64; fi export LIBSUFFIX_4_CMAKE="-DLIB_SUFFIX=$LIBSUFFIX"

Then, as usual:

  • To configure the project, type something like: mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_BASEDIR}/airinv-$AIRINV_VER
    -DWITH_STDAIR_PREFIX=${INSTALL_BASEDIR}/stdair-stable
    -DWITH_SEVMGR_PREFIX=${INSTALL_BASEDIR}/sevmgr-stable
    -DWITH_AIRRAC_PREFIX=${INSTALL_BASEDIR}/airrac-stable
    -DWITH_RMOL_PREFIX=${INSTALL_BASEDIR}/rmol-stable
    -DCMAKE_BUILD_TYPE:STRING=Debug -DENABLE_TEST:BOOL=ON -DINSTALL_DOC:BOOL=ON
    -DRUN_GCOV:BOOL=OFF ${LIBSUFFIX_4_CMAKE} ..
  • To build the project, type: make
  • To test the project, type: make check
  • To install the library (libairinv*.so*) and the binary (airinv), just type: make install cd ${INSTALL_BASEDIR} rm -f airinv-stable && ln -s airinv-1.00.2 airinv-stable cd -
  • To package the source files, type: make dist
  • To package the binary and the (HTML and PDF) documentation: make package
  • To browse the (just installed, if enabled) HTML documentation: midori file://${INSTALL_BASEDIR}/airinv-$AIRINV_VER/share/doc/airinv/html/index.html
  • To browse the (just installed, if enabled) PDF documentation: evince ${INSTALL_BASEDIR}/airinv-$AIRINV_VER/share/doc/airinv/html/refman.pdf
  • To run the local binary version: ./airinv/airinv -b
  • To run the installed version: ${INSTALL_BASEDIR}/airinv-stable/bin/airinv -b

Denis Arnaud (June 2015)