diff --git a/docker/pinocchio/Dockerfile.nolts b/docker/pinocchio/Dockerfile.nolts index 0987447254e2a1011385c9327e6697aa4bdc1839..f35deeadbcb18f3b88c162b71f07b2fed1bf1abf 100644 --- a/docker/pinocchio/Dockerfile.nolts +++ b/docker/pinocchio/Dockerfile.nolts @@ -1,13 +1,10 @@ -ARG UBUNTU=disco +ARG UBUNTU=xenial FROM ubuntu:$UBUNTU SHELL ["/bin/bash", "-c"] -ARG UBUNTU=disco ARG PYTHON=python3 -ARG HPP_FCL=1.1.3 -ARG EIGENPY=1.6.0 -ARG MAKE_JOBS=1 +ARG MAKE_JOBS=6 ENV CTEST_PARALLEL_LEVEL=$MAKE_JOBS CTEST_OUTPUT_ON_FAILURE=true PYTHON=$PYTHON @@ -30,35 +27,43 @@ RUN apt-get update -y \ ${PYTHON/2/}-numpy \ && rm -rf /var/lib/apt/lists/* -# hpp-fcl -ADD https://github.com/humanoid-path-planner/hpp-fcl/releases/download/v${HPP_FCL}/hpp-fcl-${HPP_FCL}.tar.gz / -RUN tar xvf /hpp-fcl-${HPP_FCL}.tar.gz \ - && mkdir /hpp-fcl-${HPP_FCL}/build \ - && cd /hpp-fcl-${HPP_FCL}/build \ - && cmake .. \ - && make -j$MAKE_JOBS \ - && make install +ARG HPP_FCL=1.2.2 +ARG EIGENPY=1.6.13 +ARG PINOCCHIO=2.2.3 +ARG BUILD_TYPE=Debug + +ENV CMAKE_OPTS="-DPYTHON_EXECUTABLE=/usr/bin/${PYTHON} \ + -DBUILD_PYTHON_INTERFACE=ON \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=${BUILD_TYPE}" # eigenpy ADD https://github.com/stack-of-tasks/eigenpy/releases/download/v${EIGENPY}/eigenpy-${EIGENPY}.tar.gz / -RUN tar xvf /eigenpy-${EIGENPY}.tar.gz \ +RUN tar xf /eigenpy-${EIGENPY}.tar.gz \ && mkdir /eigenpy-${EIGENPY}/build \ && cd /eigenpy-${EIGENPY}/build \ - && cmake -DPYTHON_EXECUTABLE=$(which $PYTHON) .. \ - && make -j$MAKE_JOBS \ - && make install - -# (in)validate docker build cache with the HTTP "Last-Modified" header from github -ARG NAMESPACE=stack-of-tasks -ARG BRANCH=devel -ADD https://github.com/$NAMESPACE/pinocchio/archive/$BRANCH.zip . + && cmake ${CMAKE_OPTS} .. \ + && make -s -j$MAKE_JOBS \ + && make -s test \ + && make -s install -# but this zip doesn't come with .git nor submodules -RUN git clone --recursive --branch $BRANCH https://github.com/$NAMESPACE/pinocchio.git \ - && mkdir pinocchio/build - -WORKDIR /pinocchio/build +# hpp-fcl +ADD https://github.com/humanoid-path-planner/hpp-fcl/releases/download/v${HPP_FCL}/hpp-fcl-${HPP_FCL}.tar.gz / +RUN tar xf /hpp-fcl-${HPP_FCL}.tar.gz \ + && mkdir /hpp-fcl-${HPP_FCL}/build \ + && cd /hpp-fcl-${HPP_FCL}/build \ + && cmake ${CMAKE_OPTS} .. \ + && make -s -j$MAKE_JOBS \ + && make -s test \ + && make -s install -RUN cmake -DPYTHON_EXECUTABLE=$(which $PYTHON) .. \ - && make -j${MAKE_JOBS} \ - || true +# pinocchio +ADD https://github.com/stack-of-tasks/pinocchio/releases/download/v${PINOCCHIO}/pinocchio-${PINOCCHIO}.tar.gz / +RUN tar xf /pinocchio-${PINOCCHIO}.tar.gz \ + && mkdir /pinocchio-${PINOCCHIO}/build \ + && cd /pinocchio-${PINOCCHIO}/build \ + && cmake ${CMAKE_OPTS} -DBUILD_WITH_COLLISION_SUPPORT=ON -DBUILD_TESTING=ON .. \ + && make -s -j$MAKE_JOBS \ + && make -s test \ + && make -s install