Skip to content

Commit

Permalink
Add docker files for dartpy pub
Browse files Browse the repository at this point in the history
  • Loading branch information
jslee02 committed Mar 13, 2024
1 parent 21887e2 commit 6c4ec76
Show file tree
Hide file tree
Showing 16 changed files with 967 additions and 1 deletion.
2 changes: 1 addition & 1 deletion docker/dev/v6.14/Dockerfile.archlinux
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ARG TARGETPLATFORM=linux/amd64
FROM --platform=$TARGETPLATFORM jslee02/dart-dev:archlinux-min-v7.0
FROM --platform=$TARGETPLATFORM jslee02/dart-dev:archlinux-min-v6.14

USER builder

Expand Down
19 changes: 19 additions & 0 deletions docker/dev/v6.14/Dockerfile.manylinux2014_aarch64
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
ARG BASE_IMAGE=jslee02/dart-dev:manylinux2014_aarch64-min-v6.14
FROM $BASE_IMAGE

ARG NUM_CORES=14

# Missing optional dependencies:
# ipopt
# nlopt
# spdlog

# openscenegraph
RUN git clone https://github.com/openscenegraph/OpenSceneGraph.git \
&& mkdir -p OpenSceneGraph/build \
&& cmake OpenSceneGraph -B OpenSceneGraph/build \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_OSG_APPLICATIONS=OFF \
-DBUILD_OSG_DEPRECATED_SERIALIZERS=OFF \
&& cmake --build OpenSceneGraph/build --target install -j${NUM_CORES} \
&& rm -rf OpenSceneGraph
109 changes: 109 additions & 0 deletions docker/dev/v6.14/Dockerfile.manylinux2014_aarch64-min
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
ARG BASE_IMAGE=quay.io/pypa/manylinux2014_aarch64
FROM $BASE_IMAGE

ARG NUM_CORES=14

# Missing optional dependencies:
# ipopt
# nlopt
# spdlog

RUN yum install -y glew-devel boost-devel python3-devel

# fmt
RUN git clone https://github.com/fmtlib/fmt.git -b 9.1.0 \
&& mkdir -p fmt/build \
&& cmake fmt -B fmt/build -DCMAKE_BUILD_TYPE=Release -DFMT_TEST=OFF \
&& cmake --build fmt/build --target install -j${NUM_CORES} \
&& rm -rf fmt

# assimp
RUN git clone https://github.com/assimp/assimp.git -b 'v5.2.5' \
&& mkdir -p assimp/build \
&& cmake assimp -B assimp/build -DCMAKE_BUILD_TYPE=Release -DASSIMP_BUILD_TESTS=OFF -DASSIMP_WARNINGS_AS_ERRORS=OFF \
&& cmake --build assimp/build --target install -j${NUM_CORES} \
&& rm -rf assimp

# eigen
RUN git clone https://gitlab.com/libeigen/eigen.git -b '3.4.0' \
&& mkdir -p eigen/build \
&& cmake eigen -B eigen/build -DCMAKE_BUILD_TYPE=Release -DEIGEN_BUILD_TESTING=OFF -DEIGEN_BUILD_DOC=OFF \
&& cmake --build eigen/build --target install -j${NUM_CORES} \
&& rm -rf eigen

# octomap
RUN git clone https://github.com/OctoMap/octomap.git -b 'v1.9.6' \
&& mkdir -p octomap/build \
&& cmake octomap -B octomap/build -DCMAKE_BUILD_TYPE=Release -DBUILD_OCTOVIS_SUBPROJECT=OFF -DBUILD_OCTOVIS_SUBPROJECT=OFF -DBUILD_DYNAMICETD3D_SUBPROJECT=OFF -DBUILD_TESTING=OFF \
&& cmake --build octomap/build --target install -j${NUM_CORES} \
&& rm -rf octomap

# libccd
RUN git clone https://github.com/danfis/libccd.git -b 'v2.1' \
&& mkdir -p libccd/build \
&& cmake libccd -B libccd/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build libccd/build --target install -j${NUM_CORES} \
&& rm -rf libccd

# fcl
RUN git clone https://github.com/flexible-collision-library/fcl.git -b '0.7.0' \
&& mkdir -p fcl/build \
&& cmake fcl -B fcl/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build fcl/build --target install -j${NUM_CORES} \
&& rm -rf fcl

# Bullet
RUN git clone https://github.com/bulletphysics/bullet3.git -b 3.25 \
&& mkdir -p bullet3/build \
&& cmake bullet3 -B bullet3/build -DCMAKE_BUILD_TYPE=Release -DBUILD_UNIT_TESTS=OFF -DBUILD_CPU_DEMOS=OFF \
&& cmake --build bullet3/build --target install -j${NUM_CORES} \
&& rm -rf bullet3

# tinyxml
# RUN wget https://sourceforge.net/projects/tinyxml/files/tinyxml/2.6.2/tinyxml_2_6_2.tar.gz \
# && tar -xzf tinyxml_2_6_2.tar.gz \
# && cd tinyxml \
# && make \
# && make install \
# && cd .. \
# && rm -rf tinyxml
RUN git clone https://github.com/jslee02/tinyxml.git \
&& mkdir -p tinyxml/build \
&& cmake tinyxml -B tinyxml/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build tinyxml/build --target install -j${NUM_CORES} \
&& rm -rf tinyxml

# tinyxml2
RUN git clone https://github.com/leethomason/tinyxml2.git -b '9.0.0' \
&& mkdir -p tinyxml2/build \
&& cmake tinyxml2 -B tinyxml2/build -DCMAKE_BUILD_TYPE=Release -Dtinyxml2_BUILD_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
&& cmake --build tinyxml2/build --target install -j${NUM_CORES} \
&& rm -rf tinyxml2

# console_bridge
RUN git clone https://github.com/ros/console_bridge.git -b 1.0.2 \
&& mkdir -p console_bridge/build \
&& cmake console_bridge -B console_bridge/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build console_bridge/build --target install -j${NUM_CORES} \
&& rm -rf console_bridge

# urdfdom_headers
RUN git clone https://github.com/ros/urdfdom_headers.git -b 1.0.5 \
&& mkdir -p urdfdom_headers/build \
&& cmake urdfdom_headers -B urdfdom_headers/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build urdfdom_headers/build --target install -j${NUM_CORES} \
&& rm -rf urdfdom_headers

# urdfdom
RUN git clone https://github.com/ros/urdfdom.git -b 3.0.0 \
&& mkdir -p urdfdom/build \
&& cmake urdfdom -B urdfdom/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build urdfdom/build --target install -j${NUM_CORES} \
&& rm -rf urdfdom

# pybind11
RUN git clone https://github.com/pybind/pybind11.git -b 'v2.10.3' \
&& mkdir -p pybind11/build \
&& cmake pybind11 -B pybind11/build -DCMAKE_BUILD_TYPE=Release -DPYBIND11_TEST=OFF \
&& cmake --build pybind11/build --target install -j${NUM_CORES} \
&& rm -rf pybind11
19 changes: 19 additions & 0 deletions docker/dev/v6.14/Dockerfile.manylinux2014_ppc64le
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
ARG BASE_IMAGE=jslee02/dart-dev:manylinux2014_ppc64le-min-v6.14
FROM $BASE_IMAGE

ARG NUM_CORES=14

# Missing optional dependencies:
# ipopt
# nlopt
# spdlog

# openscenegraph
RUN git clone https://github.com/openscenegraph/OpenSceneGraph.git \
&& mkdir -p OpenSceneGraph/build \
&& cmake OpenSceneGraph -B OpenSceneGraph/build \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_OSG_APPLICATIONS=OFF \
-DBUILD_OSG_DEPRECATED_SERIALIZERS=OFF \
&& cmake --build OpenSceneGraph/build --target install -j${NUM_CORES} \
&& rm -rf OpenSceneGraph
102 changes: 102 additions & 0 deletions docker/dev/v6.14/Dockerfile.manylinux2014_ppc64le-min
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
ARG BASE_IMAGE=quay.io/pypa/manylinux2014_ppc64le
FROM $BASE_IMAGE

ARG NUM_CORES=14

# Missing optional dependencies:
# ipopt
# nlopt
# spdlog

RUN yum install -y glew-devel boost-devel python3-devel

# fmt
RUN git clone https://github.com/fmtlib/fmt.git -b 9.1.0 \
&& mkdir -p fmt/build \
&& cmake fmt -B fmt/build -DCMAKE_BUILD_TYPE=Release -DFMT_TEST=OFF \
&& cmake --build fmt/build --target install -j${NUM_CORES} \
&& rm -rf fmt

# assimp
RUN git clone https://github.com/assimp/assimp.git -b 'v5.2.5' \
&& mkdir -p assimp/build \
&& cmake assimp -B assimp/build -DCMAKE_BUILD_TYPE=Release -DASSIMP_BUILD_TESTS=OFF -DASSIMP_WARNINGS_AS_ERRORS=OFF \
&& cmake --build assimp/build --target install -j${NUM_CORES} \
&& rm -rf assimp

# eigen
RUN git clone https://gitlab.com/libeigen/eigen.git -b '3.4.0' \
&& mkdir -p eigen/build \
&& cmake eigen -B eigen/build -DCMAKE_BUILD_TYPE=Release -DEIGEN_BUILD_TESTING=OFF -DEIGEN_BUILD_DOC=OFF \
&& cmake --build eigen/build --target install -j${NUM_CORES} \
&& rm -rf eigen

# octomap
RUN git clone https://github.com/OctoMap/octomap.git -b 'v1.9.6' \
&& mkdir -p octomap/build \
&& cmake octomap -B octomap/build -DCMAKE_BUILD_TYPE=Release -DBUILD_OCTOVIS_SUBPROJECT=OFF -DBUILD_OCTOVIS_SUBPROJECT=OFF -DBUILD_DYNAMICETD3D_SUBPROJECT=OFF -DBUILD_TESTING=OFF \
&& cmake --build octomap/build --target install -j${NUM_CORES} \
&& rm -rf octomap

# libccd
RUN git clone https://github.com/danfis/libccd.git -b 'v2.1' \
&& mkdir -p libccd/build \
&& cmake libccd -B libccd/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build libccd/build --target install -j${NUM_CORES} \
&& rm -rf libccd

# fcl
RUN git clone https://github.com/flexible-collision-library/fcl.git -b '0.7.0' \
&& mkdir -p fcl/build \
&& cmake fcl -B fcl/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build fcl/build --target install -j${NUM_CORES} \
&& rm -rf fcl

# Bullet
RUN git clone https://github.com/bulletphysics/bullet3.git -b 3.25 \
&& mkdir -p bullet3/build \
&& cmake bullet3 -B bullet3/build -DCMAKE_BUILD_TYPE=Release -DBUILD_UNIT_TESTS=OFF -DBUILD_CPU_DEMOS=OFF \
&& cmake --build bullet3/build --target install -j${NUM_CORES} \
&& rm -rf bullet3

# tinyxml
RUN git clone https://github.com/jslee02/tinyxml.git \
&& mkdir -p tinyxml/build \
&& cmake tinyxml -B tinyxml/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build tinyxml/build --target install -j${NUM_CORES} \
&& rm -rf tinyxml

# tinyxml2
RUN git clone https://github.com/leethomason/tinyxml2.git -b '9.0.0' \
&& mkdir -p tinyxml2/build \
&& cmake tinyxml2 -B tinyxml2/build -DCMAKE_BUILD_TYPE=Release -Dtinyxml2_BUILD_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
&& cmake --build tinyxml2/build --target install -j${NUM_CORES} \
&& rm -rf tinyxml2

# console_bridge
RUN git clone https://github.com/ros/console_bridge.git -b 1.0.2 \
&& mkdir -p console_bridge/build \
&& cmake console_bridge -B console_bridge/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build console_bridge/build --target install -j${NUM_CORES} \
&& rm -rf console_bridge

# urdfdom_headers
RUN git clone https://github.com/ros/urdfdom_headers.git -b 1.0.5 \
&& mkdir -p urdfdom_headers/build \
&& cmake urdfdom_headers -B urdfdom_headers/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build urdfdom_headers/build --target install -j${NUM_CORES} \
&& rm -rf urdfdom_headers

# urdfdom
RUN git clone https://github.com/ros/urdfdom.git -b 3.0.0 \
&& mkdir -p urdfdom/build \
&& cmake urdfdom -B urdfdom/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build urdfdom/build --target install -j${NUM_CORES} \
&& rm -rf urdfdom

# pybind11
RUN git clone https://github.com/pybind/pybind11.git -b 'v2.10.3' \
&& mkdir -p pybind11/build \
&& cmake pybind11 -B pybind11/build -DCMAKE_BUILD_TYPE=Release -DPYBIND11_TEST=OFF \
&& cmake --build pybind11/build --target install -j${NUM_CORES} \
&& rm -rf pybind11
17 changes: 17 additions & 0 deletions docker/dev/v6.14/Dockerfile.manylinux2014_s390x
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
ARG BASE_IMAGE=jslee02/dart-dev:manylinux2014_s390x-min-v6.14
FROM $BASE_IMAGE

ARG NUM_CORES=14

# Missing optional dependencies:
# ipopt

# openscenegraph
RUN git clone https://github.com/openscenegraph/OpenSceneGraph.git \
&& mkdir -p OpenSceneGraph/build \
&& cmake OpenSceneGraph -B OpenSceneGraph/build \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_OSG_APPLICATIONS=OFF \
-DBUILD_OSG_DEPRECATED_SERIALIZERS=OFF \
&& cmake --build OpenSceneGraph/build --target install -j${NUM_CORES} \
&& rm -rf OpenSceneGraph
79 changes: 79 additions & 0 deletions docker/dev/v6.14/Dockerfile.manylinux2014_s390x-min
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
ARG BASE_IMAGE=quay.io/pypa/manylinux2014_s390x
FROM $BASE_IMAGE

ARG NUM_CORES=14

# Missing optional dependencies:
# ipopt

RUN yum install -y glew-devel libccd-devel boost-devel bullet-devel nlopt-devel spdlog-devel tinyxml-devel python3-devel

# fmt
RUN git clone https://github.com/fmtlib/fmt.git -b 9.1.0 \
&& mkdir -p fmt/build \
&& cmake fmt -B fmt/build -DCMAKE_BUILD_TYPE=Release -DFMT_TEST=OFF \
&& cmake --build fmt/build --target install -j${NUM_CORES} \
&& rm -rf fmt

# assimp
RUN git clone https://github.com/assimp/assimp.git -b 'v5.2.5' \
&& mkdir -p assimp/build \
&& cmake assimp -B assimp/build -DCMAKE_BUILD_TYPE=Release -DASSIMP_BUILD_TESTS=OFF -DASSIMP_WARNINGS_AS_ERRORS=OFF \
&& cmake --build assimp/build --target install -j${NUM_CORES} \
&& rm -rf assimp

# eigen
RUN git clone https://gitlab.com/libeigen/eigen.git -b '3.4.0' \
&& mkdir -p eigen/build \
&& cmake eigen -B eigen/build -DCMAKE_BUILD_TYPE=Release -DEIGEN_BUILD_TESTING=OFF -DEIGEN_BUILD_DOC=OFF \
&& cmake --build eigen/build --target install -j${NUM_CORES} \
&& rm -rf eigen

# octomap
RUN git clone https://github.com/OctoMap/octomap.git -b 'v1.9.6' \
&& mkdir -p octomap/build \
&& cmake octomap -B octomap/build -DCMAKE_BUILD_TYPE=Release -DBUILD_OCTOVIS_SUBPROJECT=OFF -DBUILD_OCTOVIS_SUBPROJECT=OFF -DBUILD_DYNAMICETD3D_SUBPROJECT=OFF -DBUILD_TESTING=OFF \
&& cmake --build octomap/build --target install -j${NUM_CORES} \
&& rm -rf octomap

# fcl
RUN git clone https://github.com/flexible-collision-library/fcl.git -b '0.7.0' \
&& mkdir -p fcl/build \
&& cmake fcl -B fcl/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build fcl/build --target install -j${NUM_CORES} \
&& rm -rf fcl

# tinyxml2
RUN git clone https://github.com/leethomason/tinyxml2.git -b '9.0.0' \
&& mkdir -p tinyxml2/build \
&& cmake tinyxml2 -B tinyxml2/build -DCMAKE_BUILD_TYPE=Release -Dtinyxml2_BUILD_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
&& cmake --build tinyxml2/build --target install -j${NUM_CORES} \
&& rm -rf tinyxml2

# console_bridge
RUN git clone https://github.com/ros/console_bridge.git -b 1.0.2 \
&& mkdir -p console_bridge/build \
&& cmake console_bridge -B console_bridge/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build console_bridge/build --target install -j${NUM_CORES} \
&& rm -rf console_bridge

# urdfdom_headers
RUN git clone https://github.com/ros/urdfdom_headers.git -b 1.0.5 \
&& mkdir -p urdfdom_headers/build \
&& cmake urdfdom_headers -B urdfdom_headers/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build urdfdom_headers/build --target install -j${NUM_CORES} \
&& rm -rf urdfdom_headers

# urdfdom
RUN git clone https://github.com/ros/urdfdom.git -b 3.0.0 \
&& mkdir -p urdfdom/build \
&& cmake urdfdom -B urdfdom/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& cmake --build urdfdom/build --target install -j${NUM_CORES} \
&& rm -rf urdfdom

# pybind11
RUN git clone https://github.com/pybind/pybind11.git -b 'v2.10.3' \
&& mkdir -p pybind11/build \
&& cmake pybind11 -B pybind11/build -DCMAKE_BUILD_TYPE=Release -DPYBIND11_TEST=OFF \
&& cmake --build pybind11/build --target install -j${NUM_CORES} \
&& rm -rf pybind11
Loading

0 comments on commit 6c4ec76

Please sign in to comment.