...
Code Block |
---|
sudo apt-get update sudo apt-get install build-essential freeglut3-dev libboost-all-dev xterm libtifflibtiff4-dev libpnglibpng12-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) Download MOOS-IvP from httpDownloads:
Code Block |
---|
cd ~/ svn co https://oceanai.mit.edu/svn/moos-ivp-aro/ |
...
Code Block |
---|
releases/moos-ivp-13.5 moos-ivp bzr co lp:goby/2.0 goby cd goby sudo ./DEPENDENCIES ubuntu cd ~/ svn cocheckout https://oceanaihovergroup.mitgooglecode.edu/svn/moos-ivp-aro/releases/moos-ivp-12.11-beta moos-ivp |
3) Build MOOS by running ccmake followed by make in each of the following directories. The listed settings should be used when running cmake.
MOOSCoreDISABLE_NAMES_LOOKUPON
USE_ASYNC_COMMSON
MOOSEssentials
4) Build MOOS-IvP using the same steps in the directory moos-ivp/ivp/src
5) Download and install goby
Code Block |
---|
cd ~/
bzr co lp:goby
cd goby
sudo ./DEPENDENCIES ubuntu
|
Finally run ccmake with the following settings followed by make.
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:
Code Block |
---|
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.
Code Block |
---|
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 |
your personal folder | ~/hovergroup/ivp-extend/josh | MOOSCore |
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"
...