- Assumes Debian/Ubuntu APT style installation commands
- Tested on Ubuntu LTS 20.04 (amd64) - VirtualBox machine
- Minimal installation assumed when installing
- User name “safemuv” - if other user name used, will have to replace /home/safemuv with the target user name
Install the dependencies for the compilers/build tools, MOOS and ActiveMQ/APR (Apache Portable Runtime)
These are used in the dependencies:
sudo apt-get install git gcc make cmake subversion sudo apt-get install libfltk1.3-dev freeglut3-dev libpng-dev libjpeg-dev sudo apt-get install libxft-dev libxinerama-dev libtiff5-dev sudo apt-get install libapr1-dev libssl-dev bbe
If your distribution doesn’t have libpng-dev package it may be numerical, e.g. libpng12-dev
mkdir -p academic/atlas cd academic/atlas git clone https://github.com/jrharbin-york/atlas-middleware.git git checkout --track origin/fuzzing git pull
cd ~ mkdir source && cd source svn co https://oceanai.mit.edu/svn/moos-ivp-aro/releases/moos-ivp-19.8.1 moos-ivp
- This is tested with versions 5.15.2 of ActiveMQ and 3.9.5 of ActiveMQ-CPP.
- Other versions might well work, particularly later ActiveMQ versions
cd ~/source wget https://archive.apache.org/dist/activemq/5.15.2/apache-activemq-5.15.2-bin.tar.gz wget https://apache.mirrors.nublue.co.uk/activemq/activemq-cpp/3.9.5/activemq-cpp-library-3.9.5-src.tar.gz # If these links are not present, please download these files manually and place in ~/source: tar -xvzf apache-activemq-5.15.2-bin.tar.gz tar -xvzf activemq-cpp-library-3.9.5-src.tar.gz
cd ~/source/moos-ivp patch -p0 < ~/academic/atlas/atlas-middleware/custom-moos/patches/behaviour_allow_nonconvex_waypoints.patch ./build-moos.sh ./build-ivp.sh
If the patch file is not found, please ensure you have run “git pull” on the ~/academic/atlas/atlas-middleware repository.
This is mostly for convenience to start ActiveMQ on command - you may wish to use other methods to launch it
echo '#!/bin/bash' >> ~/start_activemq.sh echo '/home/safemuv/source/apache-activemq-5.15.12/bin/activemq start' >> ~/start_activemq.sh
cd ~/source/activemq-cpp-library-3.9.5 ./configure make sudo make install
If ActiveMQ-CPP fails to link with “undefined symbol” errors relating to SSL, ensure the libssl-dev package is properly installed first. If it was not installed, it will be necessary to delete ActiveMQ-CPP rerun the previous stage, configuring/make/install.
For some reason, APR headers are often installed on Debian/Ubuntu in a custom directory, where they are not found. To prevent “apr_pools.h: No such file or directory” later, the following will be helpful
cd /usr/include/apr-1.0 sudo cp *.h ..
cd /home/safemuv/academic/atlas/atlas-middleware/custom-moos ./build-ivp.sh cp bin/ATLASDBInterface ~/source/moos-ivp/bin
If there is an error resulting from: “No rule to make target ‘/usr/local/lib64/libactivemq-cpp.so’…” when building the custom MOOS components, it may be due to the distro you’re using having installed ActiveMQ at usr/local/lib In this case, enter the following:
cd /usr/local/ sudo mkdir -p lib64 cd lib64 sudo ln -s /usr/local/lib/libactivemq-cpp.so /usr/local/lib64
Then retry building the custom MOOS interfacing component
echo 'export MOOS=/home/safemuv/source/moos-ivp' >> ~/.bashrc echo 'export PATH=$MOOS/bin:$PATH' >> ~/.bashrc
mkdir -p /home/safemuv/academic/atlas/atlas-middleware/middleware-java/moos-sim/console-logs
Add the following to .bashrc in your home directory to set the MOOS paths
export MOOS=/home/safemuv/source/moos-ivp export PATH=$MOOS/bin:$PATH export PATH=$MOOS/ivp/bin:$PATH