Information on installing required software on personal computers or virtual machines.  Setup for vehicles is different.  

1) Install dependency packages assuming ubuntu derivative.  

sudo apt-get update
sudo apt-get install build-essential freeglut3-dev libboost-all-dev xterm libtiff4-dev libpng12-dev libgsl0-dev subversion bzr cmake-curses-gui libxft-dev libxinerama-dev fluid default-jre libgmp3-dev
sudo apt-get install witty witty-dev witty-doc witty-dbg

2) Downloads:

cd ~/
svn co https://oceanai.mit.edu/svn/moos-ivp-aro/releases/moos-ivp-13.5 moos-ivp
bzr co lp:goby/2.0 goby
cd goby
sudo ./DEPENDENCIES ubuntu
cd ~/ 
svn checkout https://hovergroup.googlecode.com/svn/trunk/ hovergroup

cd ~/
mkdir MOOS
cd MOOS
git clone  https://github.com/themoos/core-moos.git MOOSCore
cd MOOSCore
git checkout master
cd ..
git clone https://github.com/themoos/essential-moos.git MOOSEssentials
cd MOOSEssentials
git checkout devel
cd ..
git clone https://github.com/themoos/ui-moos.git MOOSToolsUI
cd MOOSToolsUI
git checkout V10-beta-rc1
cd ..
git clone https://github.com/themoos/geodesy-moos.git MOOSGeodesy
cd MOOSGeodesy
git checkout master
cd ..

mv ~/MOOS/MOOSCore/Core/libMOOS/Comms/XPCGetProtocol.cpp ~/MOOS/MOOSCore/Core/libMOOS/Comms/XPCGetProtocol_bck.cpp
cp ~/hovergroup/third-party/XPCGetProtocol.cpp ~/MOOS/MOOSCore/Core/libMOOS/Comms/

3) Build:

cd ~/MOOS/MOOSCore
cmake -D DISABLE_NAMES_LOOKUP=ON -D USE_ASYNC_COMMS=ON .
make -j4
cd ../MOOSEssentials
cmake .
make -j4
cd ../MOOSGeodesy
cmake .
make -j4
cd ../MOOSToolsUI
cmake .
make -j4

cd ~/moos-ivp
rm MOOS
ln -s ../MOOS MOOS

cd ~/moos-ivp/ivp/src
cmake -D IVP_BUILD_GUI_CODE=ON .
make -j4

cd ~/goby
cmake -D build_apps=OFF -D build_moos=OFF .
make -j4
cd ~/hovergroup/ivp-extend/trunk
./build_proto.sh
cmake -D BOOST_146=ON -D BUILD_SHORE_APPS=ON .
make -j4
cd ../josh
cmake -D BUILD_SHORE_APPS=ON .
make -j4

7) Add executable directories to your path (replacing "josh" with your username).  Add the following lines to your ~/.bashrc file.  

HOME_DIR="/home/josh"
IVP_DIR=${HOME_DIR}/moos-ivp
MOOS_DIR=${IVP_DIR}/MOOS
PATH=$PATH:${MOOS_DIR}/MOOSCore/bin:${MOOS_DIR}/MOOSEssentials/bin:${MOOS_DIR}/MOOSToolsUI/bin
PATH=$PATH:${IVP_DIR}/bin
HOVERGROUP_DIR=${HOME_DIR}/hovergroup/ivp-extend
PATH=$PATH:${HOVERGROUP_DIR}/trunk/bin

8) Download the latest version of Eclipse CDT from http://www.eclipse.org/cdt/downloads.php and extract to a location of your choosing (no installation required).  After starting Eclipse you'll need to add the projects and set their references for the indexer to work.  

First I would recommend closing some of the extra windows around the screen.  Almost all of the side tabs can be removed; the only ones we need are the project explorer and the console, which can be minimized when we're not building code.  Once you have things arranged the way you like you should save your perspective under Window -> 

To import a project go to File -> New -> Makefile Project with Existing Code.  For each of the following projects you'll need to select the folder location, name the project, and set the tool-chain to Linux GCC.  After creating projects you will also need to set their references to other projects.  Do this by right clicking on the project in the project explorer and selection properties, then select "project references" on the left.  

Name

Path on Disk

Project References

MOOSCore

~/moos-ivp/MOOS/MOOSCore

none

MOOSEssentials

~/moos-ivp/MOOS/MOOSEssentials

MOOSCore

MOOSGeodesy

~/moos-ivp/MOOS/MOOSGeodesy

MOOSCore

MOOSToolsUI

~/moos-ivp/MOOS/MOOSToolsUI

MOOSCore

MOOS-IvP

~/moos-ivp/ivp/src

MOOSCore

Goby

~/goby

none

hovergroup

~/hovergroup/ivp-extend/trunk

MOOSCore
MOOSGeodesy
MOOS-IvP
Goby

your personal folder
e.g. "Josh"

~/hovergroup/ivp-extend/josh

MOOSCore
MOOSGeodesy
MOOS-IvP
Goby
hovergroup

Some additional changes you should make in eclipse:

  • Use parallel make for large projects (moos-ivp especially) by changing the build command to "make -j4" in project properties -> C/C++ Build
  • Editor configuration under Window -> Preferences
    • Under General -> Editors -> Text Editors check "Insert spaces for tabs"
  • No labels