Two of the most popular Linux distributions are either Fedora or Ubuntu-based. Both are often used to develop and execute MXRP-based simulations. This page provides installation and configuration notes to install required prerequisites, compile MXRP libraries and execute examples.
A working knowledge of Linux (Fedora and/or Ubuntu) is assumed.
Prebuilt packages (such as rpm and deb) are often available to facilitate prerequisite installation. It is often preferable to install prerequisites using the prebuilt packages as they can be easily removed if necessary or automatically updated if connected to the Internet. Gzipped tar files (.tar.gz or .tgz) are typically available as well.
Note: Ensure you have administrator privileges when installing packages as most of them install header files and libraries into system areas.
FTGL, freetype and freeglut are essential components to build the MXRP graphics library and compile GLUT-based applications. The following commands will download and install the header files and developmental libraries for each package.
yum install ftgl-devel yum install freetype-devel yum install freeglut-devel
apt-get install libftgl-dev apt-get install libfreetype6-dev apt-get install freeglut3-dev
Some Linux distributions don't provide FTGL packages in a convenient manner. For example, CentOS 7 doesn't include FTGL on any of their ISOs. Because of this, the build script provided with 3rd party source code will compile FTGL.
CIGI is an open source visual system interface library that is an essential component to build the OpenEaagles otw library. Download and install the latest CIGI Class Library (CCL). As of this writing, it is distributed in a gzipped tar file.
Download ccl_3.3.3a.tar.gz and perform the following steps:
tar xzvf ccl_3.3.3a.tar.gz // unzips and extracts the directory "ccl" cd ccl // change to "ccl" directory configure // configure package make // compile libraries make install // install libraries
JSBSim, is an open source flight dynamics model (FDM) that is an essential component to build the MXRP model library.
Note: Use the version of JSBSim included with MXRP, as it is often the most current available and supported by the MXRP vehicle interface. It can be found in the mxrp-3rdpartysrc download.
tar xzvf jsbsim_cvs_v2015_0704.tgz // unzips and extracts the directory "jsbsim" cd jsbsim/JSBSim // change to "JSBSim" directory ./autogen.sh --enable-libraries // configure package to make linkable libraries make // compile libraries make install // install libraries
Also note, that for autogen to work, both 'autogen' and 'libtool' need to be installed on your system.
yum install autogen yum install automake yum install libtool
apt-get install autogen apt-get install automake apt-get install libtool apt-get install libtool-bin
Protobuf : Google protocol buffers is a way of encoding structured data in an efficient yet extensible format. It is an essential component required to build the MXRP recorder library.
unzip protobuf-2.4.1.zip // unzips and extracts the directory "protobuf-2.4.1" cd protobuf-2.4.1 // change to "protobuf-2.4.1" directory configure // configure package to setup build environment make // compile protoc application and protobuf libraries make install // install application and libraries
MXRP can be compiled and installed in two ways, as a system component just like any other prerequisite, or within a user account.
For this installation, MXRP is installed just like many other packages. Perform the following steps:
cd /usr/local tar xzvf mxrp_vX.X // unzips and extracts the directory "MXRP" cd mxrp // change to "MXRP" directory cd src // change to "src" directory // consider reviewing the makedef file to configure options make // compile libraries make install // install header files and libraries to /usr/local/include/mxrp // and /usr/local/lib/mxrp respectively
We supply a build script with the 3rd party source code to automate building source code within a user account.
When the examples are compiled, the environment MXRP_ROOT is used to locate header files and linking libraries. Simply unzip and extract the examples to the directory desired, change to the “src” directory and run “make”.