Skip to content

airsim/airinv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bde8b1b · Mar 31, 2025
Mar 31, 2025
Jan 13, 2013
Mar 31, 2025
Jan 26, 2025
Jan 26, 2025
Nov 4, 2019
Jun 14, 2015
Oct 26, 2011
Mar 31, 2025
Dec 5, 2010
Mar 31, 2025
Mar 31, 2025
Mar 31, 2025
Mar 31, 2025
Oct 30, 2019
Oct 26, 2011
Oct 22, 2011
Mar 31, 2025

Repository files navigation

C++ Simulated Airline Inventory Management System Library

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 (https://travel-sim.org). However, it may be used in a stand-alone mode.

Installation

On Fedora/CentOS/RedHat distribution

Just use DNF:

$ dnf -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 Rawhide, https://fr2.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/)

Building the library and test binary from Git repository

The Git repository may be cloned as following:

$ git clone [email protected]:airsim/rmol.git rmolgit # through SSH
$ git clone https://github.com/airsim/rmol.git # if the firewall filters SSH
$ cd rmolgit

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://github.com/airsim/airinv/releases

To customise the following to your environment, you can alter the path to the installation directory:

export INSTALL_BASEDIR="${HOME}/dev/deliveries"
export AIRINV_VER="1.00.12"

Then, as usual:

  • To configure the project
    • When dependencies are installed in standard directories (e.g., /usr):
  mkdir build && cd build
  cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_BASEDIR}/airinv-${AIRINV_VER} \
   -DCMAKE_BUILD_TYPE:STRING=Debug -DENABLE_TEST:BOOL=ON -DINSTALL_DOC:BOOL=ON \
   -DRUN_GCOV:BOOL=OFF ..
  • When dependencies are installed in non-standard directories (e.g., in the same base directory as of RMOL, that is, ${INSTALL_BASEDIR}):
  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 ..
  • 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-${AIRINV_VER} 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