From 6c4ec762e5afd9944bbc21a926cfbd7d6e2d3dff Mon Sep 17 00:00:00 2001 From: Jeongseok Lee Date: Wed, 13 Mar 2024 15:43:53 -0700 Subject: [PATCH] Add docker files for dartpy pub --- docker/dev/v6.14/Dockerfile.archlinux | 2 +- .../v6.14/Dockerfile.manylinux2014_aarch64 | 19 +++ .../Dockerfile.manylinux2014_aarch64-min | 109 ++++++++++++++++ .../v6.14/Dockerfile.manylinux2014_ppc64le | 19 +++ .../Dockerfile.manylinux2014_ppc64le-min | 102 +++++++++++++++ .../dev/v6.14/Dockerfile.manylinux2014_s390x | 17 +++ .../v6.14/Dockerfile.manylinux2014_s390x-min | 79 ++++++++++++ .../dev/v6.14/Dockerfile.manylinux2014_x86_64 | 104 +++++++++++++++ .../dev/v6.14/Dockerfile.manylinux_2_28.brew | 30 +++++ .../v6.14/Dockerfile.manylinux_2_28_aarch64 | 19 +++ .../Dockerfile.manylinux_2_28_aarch64-min | 109 ++++++++++++++++ .../v6.14/Dockerfile.manylinux_2_28_ppc64le | 19 +++ .../Dockerfile.manylinux_2_28_ppc64le-min | 102 +++++++++++++++ .../dev/v6.14/Dockerfile.manylinux_2_28_s390x | 17 +++ .../v6.14/Dockerfile.manylinux_2_28_s390x-min | 102 +++++++++++++++ .../v6.14/Dockerfile.manylinux_2_28_x86_64 | 119 ++++++++++++++++++ 16 files changed, 967 insertions(+), 1 deletion(-) create mode 100644 docker/dev/v6.14/Dockerfile.manylinux2014_aarch64 create mode 100644 docker/dev/v6.14/Dockerfile.manylinux2014_aarch64-min create mode 100644 docker/dev/v6.14/Dockerfile.manylinux2014_ppc64le create mode 100644 docker/dev/v6.14/Dockerfile.manylinux2014_ppc64le-min create mode 100644 docker/dev/v6.14/Dockerfile.manylinux2014_s390x create mode 100644 docker/dev/v6.14/Dockerfile.manylinux2014_s390x-min create mode 100644 docker/dev/v6.14/Dockerfile.manylinux2014_x86_64 create mode 100644 docker/dev/v6.14/Dockerfile.manylinux_2_28.brew create mode 100644 docker/dev/v6.14/Dockerfile.manylinux_2_28_aarch64 create mode 100644 docker/dev/v6.14/Dockerfile.manylinux_2_28_aarch64-min create mode 100644 docker/dev/v6.14/Dockerfile.manylinux_2_28_ppc64le create mode 100644 docker/dev/v6.14/Dockerfile.manylinux_2_28_ppc64le-min create mode 100644 docker/dev/v6.14/Dockerfile.manylinux_2_28_s390x create mode 100644 docker/dev/v6.14/Dockerfile.manylinux_2_28_s390x-min create mode 100644 docker/dev/v6.14/Dockerfile.manylinux_2_28_x86_64 diff --git a/docker/dev/v6.14/Dockerfile.archlinux b/docker/dev/v6.14/Dockerfile.archlinux index 628476004cc53..35a03581fe5ab 100644 --- a/docker/dev/v6.14/Dockerfile.archlinux +++ b/docker/dev/v6.14/Dockerfile.archlinux @@ -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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux2014_aarch64 b/docker/dev/v6.14/Dockerfile.manylinux2014_aarch64 new file mode 100644 index 0000000000000..0aff7a75e1172 --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux2014_aarch64 @@ -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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux2014_aarch64-min b/docker/dev/v6.14/Dockerfile.manylinux2014_aarch64-min new file mode 100644 index 0000000000000..f240310258d6f --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux2014_aarch64-min @@ -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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux2014_ppc64le b/docker/dev/v6.14/Dockerfile.manylinux2014_ppc64le new file mode 100644 index 0000000000000..11a36f2c83f2b --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux2014_ppc64le @@ -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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux2014_ppc64le-min b/docker/dev/v6.14/Dockerfile.manylinux2014_ppc64le-min new file mode 100644 index 0000000000000..50aa1b5029093 --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux2014_ppc64le-min @@ -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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux2014_s390x b/docker/dev/v6.14/Dockerfile.manylinux2014_s390x new file mode 100644 index 0000000000000..03abadc95b84d --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux2014_s390x @@ -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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux2014_s390x-min b/docker/dev/v6.14/Dockerfile.manylinux2014_s390x-min new file mode 100644 index 0000000000000..38905e7c1f01f --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux2014_s390x-min @@ -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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux2014_x86_64 b/docker/dev/v6.14/Dockerfile.manylinux2014_x86_64 new file mode 100644 index 0000000000000..e2d2540490071 --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux2014_x86_64 @@ -0,0 +1,104 @@ +ARG BASE_IMAGE=quay.io/pypa/manylinux2014_x86_64 +FROM $BASE_IMAGE + +ARG NUM_CORES=14 + +RUN yum install -y \ + boost-devel \ + bullet-devel \ + coin-or-Ipopt-devel \ + doxygen \ + fmt-devel \ + freeglut-devel \ + glew-devel \ + libccd-devel \ + python3-devel \ + spdlog-devel \ + tinyxml-devel + +# 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 + +# nlopt +RUN git clone https://github.com/stevengj/nlopt.git -b 'v2.7.1' \ + && mkdir -p nlopt/build \ + && cmake nlopt -B nlopt/build -DCMAKE_BUILD_TYPE=Release \ + && cmake --build nlopt/build --target install -j${NUM_CORES} \ + && rm -rf nlopt + +# 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 + +# ODE +RUN git clone https://bitbucket.org/odedevs/ode.git -b '0.16.3' \ + && mkdir -p ode/build \ + && cmake ode -B ode/build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \ + && cmake --build ode/build --target install -j${NUM_CORES} \ + && rm -rf ode + +# 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 + +# 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 + +# 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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux_2_28.brew b/docker/dev/v6.14/Dockerfile.manylinux_2_28.brew new file mode 100644 index 0000000000000..c2edc5e944fef --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux_2_28.brew @@ -0,0 +1,30 @@ +ARG BASE_IMAGE=quay.io/pypa/manylinux_2_28_x86_64 +FROM $BASE_IMAGE + +ARG NUM_CORES=14 + +# Install essential dev tools +RUN yum groupinstall -y 'Development Tools' + +# Install Homebrew on Linux and follow-ups +RUN useradd -m -s /bin/zsh linuxbrew && \ + usermod -aG root linuxbrew && \ + mkdir -p /home/linuxbrew/.linuxbrew && \ + chown -R linuxbrew: /home/linuxbrew/.linuxbrew +USER linuxbrew +RUN /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" +RUN chown -R $CONTAINER_USER: /home/linuxbrew/.linuxbrew +ENV PATH="/home/linuxbrew/.linuxbrew/bin:${PATH}" +RUN brew install gcc + +# Build dependencies +RUN brew install cmake pkg-config + +# DART dependencies +RUN brew install assimp bullet eigen fcl fmt flann freeglut ipopt libccd nlopt octomap ode pagmo spdlog tinyxml2 urdfdom yaml-cpp +RUN brew install open-scene-graph --HEAD + +# dartpy dependencies +RUN brew install pybind11 + +USER root diff --git a/docker/dev/v6.14/Dockerfile.manylinux_2_28_aarch64 b/docker/dev/v6.14/Dockerfile.manylinux_2_28_aarch64 new file mode 100644 index 0000000000000..15e8cf44071b0 --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux_2_28_aarch64 @@ -0,0 +1,19 @@ +ARG BASE_IMAGE=jslee02/dart-dev:manylinux_2_28_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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux_2_28_aarch64-min b/docker/dev/v6.14/Dockerfile.manylinux_2_28_aarch64-min new file mode 100644 index 0000000000000..826b1e5d8b340 --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux_2_28_aarch64-min @@ -0,0 +1,109 @@ +ARG BASE_IMAGE=quay.io/pypa/manylinux_2_28_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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux_2_28_ppc64le b/docker/dev/v6.14/Dockerfile.manylinux_2_28_ppc64le new file mode 100644 index 0000000000000..58e180c7b096c --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux_2_28_ppc64le @@ -0,0 +1,19 @@ +ARG BASE_IMAGE=jslee02/dart-dev:manylinux_2_28_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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux_2_28_ppc64le-min b/docker/dev/v6.14/Dockerfile.manylinux_2_28_ppc64le-min new file mode 100644 index 0000000000000..5cff80bc2545c --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux_2_28_ppc64le-min @@ -0,0 +1,102 @@ +ARG BASE_IMAGE=quay.io/pypa/manylinux_2_28_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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux_2_28_s390x b/docker/dev/v6.14/Dockerfile.manylinux_2_28_s390x new file mode 100644 index 0000000000000..a3b5648d5127b --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux_2_28_s390x @@ -0,0 +1,17 @@ +ARG BASE_IMAGE=jslee02/dart-dev:manylinux_2_28_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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux_2_28_s390x-min b/docker/dev/v6.14/Dockerfile.manylinux_2_28_s390x-min new file mode 100644 index 0000000000000..e5d3b3f7d4fbd --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux_2_28_s390x-min @@ -0,0 +1,102 @@ +ARG BASE_IMAGE=quay.io/pypa/manylinux_2_28_x390x +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 diff --git a/docker/dev/v6.14/Dockerfile.manylinux_2_28_x86_64 b/docker/dev/v6.14/Dockerfile.manylinux_2_28_x86_64 new file mode 100644 index 0000000000000..9a520c6f82707 --- /dev/null +++ b/docker/dev/v6.14/Dockerfile.manylinux_2_28_x86_64 @@ -0,0 +1,119 @@ +ARG BASE_IMAGE=quay.io/pypa/manylinux_2_28_x86_64 +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 + +# 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 + +# 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 + +# 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