Browse Source

update Tools/setup/ dev environment setup scripts

- Ubuntu install NuttX toolchain, gazebo, and switch to python3
 - OSX switch to python3
sbg
Daniel Agar 6 years ago committed by GitHub
parent
commit
6d30b13afa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      Tools/setup/OSX.sh
  2. 120
      Tools/setup/ubuntu.sh

4
Tools/setup/OSX.sh

@ -28,8 +28,8 @@ fi @@ -28,8 +28,8 @@ fi
# Python dependencies
sudo easy_install pip
sudo -H pip install --upgrade --force-reinstall pip
sudo -H pip install -I -r ${DIR}/requirements.txt
sudo -H python3 -m pip install --upgrade --force-reinstall pip
sudo -H python3 -m pip install -I -r ${DIR}/requirements.txt
# Optional, but recommended additional simulation tools:
if [[ $INSTALL_SIM == "--sim-tools" ]]; then

120
Tools/setup/ubuntu.sh

@ -1,5 +1,20 @@ @@ -1,5 +1,20 @@
#! /usr/bin/env bash
INSTALL_NUTTX="true"
INSTALL_SIM="true"
# Parse arguments
for arg in "$@"
do
if [[ $arg == "--no-nuttx" ]]; then
INSTALL_NUTTX="false"
fi
if [[ $arg == "--no-sim-tools" ]]; then
INSTALL_SIM="false"
fi
done
# detect if running in docker
if [ -f /.dockerenv ]; then
@ -34,11 +49,15 @@ fi @@ -34,11 +49,15 @@ fi
export DEBIAN_FRONTEND=noninteractive
echo "Installing PX4 general dependencies"
sudo apt-get update -yy --quiet
sudo apt-get -yy --quiet --no-install-recommends install \
astyle \
bzip2 \
build-essential \
ccache \
clang \
clang-tidy \
cmake \
cppcheck \
doxygen \
@ -50,33 +69,94 @@ sudo apt-get -yy --quiet --no-install-recommends install \ @@ -50,33 +69,94 @@ sudo apt-get -yy --quiet --no-install-recommends install \
lcov \
make \
ninja-build \
python-pip \
python-pygments \
python-setuptools \
python3-pip \
python3-pygments \
python3-setuptools \
rsync \
shellcheck \
unzip \
wget \
xsltproc \
zip
zip \
;
# python dependencies
if [ -f /.dockerenv ]; then
# in docker install requirements system wide
sudo python -m pip install --upgrade pip setuptools wheel
sudo python -m pip install -r ${DIR}/requirements.txt
else
# otherwise only install for the user
python -m pip install --user --upgrade pip setuptools wheel
python -m pip install --user -r ${DIR}/requirements.txt
echo "Installing PX4 Python dependencies"
# TODO: deprecate python 2
sudo python -m pip install --upgrade pip setuptools wheel
sudo python -m pip install -r ${DIR}/requirements.txt
sudo python3 -m pip install --upgrade pip setuptools wheel
sudo python3 -m pip install -r ${DIR}/requirements.txt
# NuttX toolchain (arm-none-eabi-gcc)
if [[ $INSTALL_NUTTX == "true" ]]; then
echo "Installing NuttX dependencies"
sudo apt-get -yy --quiet --no-install-recommends install \
autoconf \
automake \
bison \
bzip2 \
flex \
gdb-multiarch \
gperf \
libncurses-dev \
libtool \
pkg-config \
vim-common \
;
# add user to dialout group (serial port access)
sudo usermod -a -G dialout $USER
# arm-none-eabi-gcc
NUTTX_GCC_VERSION="7-2017-q4-major"
GCC_VER_STR=$(arm-none-eabi-gcc --version)
STATUSRETVAL=$(echo $GCC_VER_STR | grep -c "${NUTTX_GCC_VERSION}")
if [ $STATUSRETVAL -eq "1" ]; then
echo "arm-none-eabi-gcc-${NUTTX_GCC_VERSION} found, skipping installation"
else
echo "Installing arm-none-eabi-gcc-${NUTTX_GCC_VERSION}";
wget -O /tmp/gcc-arm-none-eabi-${NUTTX_GCC_VERSION}-linux.tar.bz2 https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/7-2017q4/gcc-arm-none-eabi-${NUTTX_GCC_VERSION}-linux.tar.bz2 && \
sudo tar -jxf /tmp/gcc-arm-none-eabi-${NUTTX_GCC_VERSION}-linux.tar.bz2 -C /opt/;
# add arm-none-eabi-gcc to user's PATH
exportline="export PATH=/opt/gcc-arm-none-eabi-${NUTTX_GCC_VERSION}/bin:\$PATH"
if grep -Fxq "$exportline" $HOME/.profile;
then
echo "${NUTTX_GCC_VERSION} path already set.";
else
echo $exportline >> $HOME/.profile;
fi
fi
fi
# java (jmavsim or fastrtps)
# TODO: only install when necessary
sudo apt-get -y --quiet --no-install-recommends install \
default-jre-headless \
default-jdk-headless
# Simulation tools
if [[ $INSTALL_SIM == "true" ]]; then
echo "Installing PX4 simulation dependencies"
# TODO: nuttx, raspberrypi, armhf generic
# java (jmavsim or fastrtps)
sudo apt-get -yy --quiet --no-install-recommends install \
ant \
default-jre-headless \
default-jdk-headless \
;
# Gazebo
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
sudo apt-get update -yy --quiet
sudo apt-get -yy --quiet --no-install-recommends install gazebo9
# TODO: gazebo or ROS optional
fi

Loading…
Cancel
Save