From 26d3de34aa1cf516838aa93f2aedef859beaef78 Mon Sep 17 00:00:00 2001 From: Sameer Sheorey Date: Fri, 16 Aug 2024 14:04:43 -0700 Subject: [PATCH] Update glibc version (2.31), Ubuntu version (20.04), C++ version (17) requirements. --- README.md | 2 +- docker/README.md | 2 +- docs/_static/docker/Dockerfile | 2 +- docs/compilation.rst | 18 ++++++----------- docs/contribute/contribution_recipes.rst | 2 +- docs/contribute/styleguide.rst | 2 +- docs/docker.in.rst | 2 +- docs/getting_started.in.rst | 20 +++++++++---------- docs/release.md | 4 ++-- .../CMakeLists.txt | 4 ++-- .../open3d-cmake-find-package/CMakeLists.txt | 4 ++-- examples/python/visualization/non_english.py | 2 +- python/README.rst | 2 +- 13 files changed, 30 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index c024b8b1689..d559c76c26d 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ For more, please visit the [Open3D documentation](https://www.open3d.org/docs). ## Python quick start -Pre-built pip packages support Ubuntu 18.04+, macOS 10.15+ and Windows 10+ +Pre-built pip packages support Ubuntu 20.04+, macOS 10.15+ and Windows 10+ (64-bit) with Python 3.8-3.11. ```bash diff --git a/docker/README.md b/docker/README.md index d14d9521c19..6922834cbf7 100644 --- a/docker/README.md +++ b/docker/README.md @@ -48,7 +48,7 @@ To verify that the ARM64 environment is working, run: # The following warning message is expected: "WARNING: The requested image's # platform (linux/arm64/v8) does not match the detected host platform # (linux/amd64) and no specific platform was requested aarch64." -docker run --rm arm64v8/ubuntu:18.04 uname -p +docker run --rm arm64v8/ubuntu:24.04 uname -p ``` ## Build and test Docker diff --git a/docs/_static/docker/Dockerfile b/docs/_static/docker/Dockerfile index ea7e5344f3f..33065b3143b 100644 --- a/docs/_static/docker/Dockerfile +++ b/docs/_static/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:18.04 +FROM ubuntu:20.04 # ENV http_proxy "" # ENV HTTP_PROXY "" diff --git a/docs/compilation.rst b/docs/compilation.rst index c0c2d1cda16..270c928b327 100644 --- a/docs/compilation.rst +++ b/docs/compilation.rst @@ -8,15 +8,15 @@ Build from source System requirements ------------------- -* C++14 compiler: +* C++17 compiler: - * Ubuntu 18.04+: GCC 5+, Clang 7+ + * Ubuntu 20.04+: GCC 5+, Clang 7+ * macOS 10.15+: XCode 8.0+ * Windows 10 (64-bit): Visual Studio 2019+ -* CMake: 3.19+ +* CMake: 3.24+ - * Ubuntu (18.04 / 20.04): + * Ubuntu (20.04+): * Install with ``apt-get``: see `official APT repository `_ * Install with ``snap``: ``sudo snap install cmake --classic`` @@ -238,12 +238,6 @@ The visualization module depends on the Filament rendering engine and, by defaul Open3D uses a prebuilt version of it. You can also build Filament from source by setting ``BUILD_FILAMENT_FROM_SOURCE=ON``. -.. note:: - Whereas Open3D only requires a C++14 compiler, Filament needs a C++17 compiler - and only supports Clang 7+, the most recent version of Xcode, and Visual Studio 2019, - see `their building instructions `_. - Make sure to use one of these compiler if you build Open3D with ``BUILD_FILAMENT_FROM_SOURCE=ON``. - ML Module ````````` @@ -390,8 +384,8 @@ After installing ``ccache``, simply reconfigure and recompile the Open3D library. Open3D's CMake script can detect and use it automatically. You don't need to setup additional paths except for the ``ccache`` program itself. -Ubuntu 18.04, 20.04 -``````````````````` +Ubuntu 20.04+ +````````````` If you install ``ccache`` via ``sudo apt install ccache``, the 3.x version will be installed. To cache CUDA compilations, you'll need the 4.0+ version. Here, we diff --git a/docs/contribute/contribution_recipes.rst b/docs/contribute/contribution_recipes.rst index f03434c461b..eee2b7ca3c8 100644 --- a/docs/contribute/contribution_recipes.rst +++ b/docs/contribute/contribution_recipes.rst @@ -29,7 +29,7 @@ Dos +-------------------------------------------------------------------------------------------------------------+ | [DO] Follow the :ref:`style_guide` and install the required tools | +-------------------------------------------------------------------------------------------------------------+ -| [DO] Use C++14 features when contributing C++ code | +| [DO] Use C++17 features when contributing C++ code | +-------------------------------------------------------------------------------------------------------------+ | [DO] Remember to provide Python bindings when adding new C++ core functionalities | +-------------------------------------------------------------------------------------------------------------+ diff --git a/docs/contribute/styleguide.rst b/docs/contribute/styleguide.rst index 2da3aa4f0b4..d655993b3b9 100644 --- a/docs/contribute/styleguide.rst +++ b/docs/contribute/styleguide.rst @@ -58,7 +58,7 @@ We generally follow the `Google C++ Style Guide `_. diff --git a/docs/docker.in.rst b/docs/docker.in.rst index 17c7055b809..989c9289cd6 100644 --- a/docs/docker.in.rst +++ b/docs/docker.in.rst @@ -57,7 +57,7 @@ To run GUI applications from the docker container, add these options to the - NVIDIA: ``--gpus 'all,"capabilities=compute,utility,graphics"'`` - - No GPU (CPU rendering): ``--env OPEN3D_CPU_RENDERING=true`` on Ubuntu 18.04. Later versions automaticaly select CPU rendering if a GPU is not available. + - No GPU (CPU rendering): CPU rendering is automaticaly selected if a GPU is not available. 2. X server: ``-v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY`` diff --git a/docs/getting_started.in.rst b/docs/getting_started.in.rst index e81dfdf1af8..734cb694e1c 100644 --- a/docs/getting_started.in.rst +++ b/docs/getting_started.in.rst @@ -13,7 +13,7 @@ interact with it. You can download the latest stable release app from `Github releases `__. The latest development version (``HEAD`` of ``main`` branch) viewer app is provided here [#]_: -* `Linux (Ubuntu 18.04+ or glibc 2.27+) `__ [#]_ +* `Linux (Ubuntu 20.04+ or glibc 2.31+) `__ [#]_ * `MacOSX v10.15+ (Intel or Apple Silicon) `__ * `Windows 10+ (64-bit) `__ @@ -95,16 +95,16 @@ version (``HEAD`` of ``main`` branch): :widths: auto * - Linux - - `Python 3.8 `__ - - `Python 3.9 `__ - - `Python 3.10 `__ - - `Python 3.11 `__ + - `Python 3.8 `__ + - `Python 3.9 `__ + - `Python 3.10 `__ + - `Python 3.11 `__ * - Linux (CPU) - - `Python 3.8 `__ - - `Python 3.9 `__ - - `Python 3.10 `__ - - `Python 3.11 `__ + - `Python 3.8 `__ + - `Python 3.9 `__ + - `Python 3.10 `__ + - `Python 3.11 `__ * - MacOS - `Python 3.8 (x86_64) `__ @@ -183,7 +183,7 @@ rendering resources. These are built with all supported features and are available for the main supported platforms. Also, the latest development version (``HEAD`` of ``main`` branch) binary package archives are provided here [#]_: -:Linux (Ubuntu 18.04+ or glibc 2.27+ [#]_): +:Linux (Ubuntu 20.04+ or glibc 2.31+ [#]_): .. hlist:: :columns: 2 diff --git a/docs/release.md b/docs/release.md index 514114f5a04..90ea6144074 100644 --- a/docs/release.md +++ b/docs/release.md @@ -17,12 +17,12 @@ Collect all release artifacts in the [Github draft release page](https://github. Configure: `cmake -DCMAKE_BUILD_TYPE=Release -DDEVELOPER_BUILD=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DBUILD_TENSORFLOW_OPS=ON -DBUILD_PYTORCH_OPS=ON -DBUNDLE_OPEN3D_ML=ON ..` - - [ ] Ubuntu 18.04 Python (all versions) (follow docs/arm.rst) (desktop) + - [ ] Ubuntu 20.04 Python (all versions) (follow docs/arm.rst) (desktop) Build command: `cd docker; ./docker_build.sh openblas-arm64-py311; ...` - [ ] Build Open3D app - - [ ] Ubuntu 18.04, Windows 10, macOS 10.15 x86_64: (CI) + - [ ] Ubuntu 20.04, Windows 10, macOS 10.15 x86_64: (CI) - [ ] macOS 12 arm64 (desktop) - [ ] macOS (x86_64, arm64) sign (desktop): diff --git a/examples/cmake/open3d-cmake-external-project/CMakeLists.txt b/examples/cmake/open3d-cmake-external-project/CMakeLists.txt index 37ed1f3d6dd..a26a7de64c2 100644 --- a/examples/cmake/open3d-cmake-external-project/CMakeLists.txt +++ b/examples/cmake/open3d-cmake-external-project/CMakeLists.txt @@ -1,5 +1,5 @@ -# On Ubuntu 18.04, get the latest CMake from https://apt.kitware.com/. -cmake_minimum_required(VERSION 3.18) +# On Ubuntu 20.04, get the latest CMake from https://apt.kitware.com/. +cmake_minimum_required(VERSION 3.24) project(Open3DCMakeExternalProject LANGUAGES C CXX) diff --git a/examples/cmake/open3d-cmake-find-package/CMakeLists.txt b/examples/cmake/open3d-cmake-find-package/CMakeLists.txt index 7553bbd679b..ca4835515b7 100644 --- a/examples/cmake/open3d-cmake-find-package/CMakeLists.txt +++ b/examples/cmake/open3d-cmake-find-package/CMakeLists.txt @@ -1,5 +1,5 @@ -# On Ubuntu 18.04, get the latest CMake from https://apt.kitware.com/. -cmake_minimum_required(VERSION 3.18) +# On Ubuntu 20.04, get the latest CMake from https://apt.kitware.com/. +cmake_minimum_required(VERSION 3.24) project(Open3DCMakeFindPackage LANGUAGES C CXX) diff --git a/examples/python/visualization/non_english.py b/examples/python/visualization/non_english.py index 54c17d4df6a..0b926b70f70 100644 --- a/examples/python/visualization/non_english.py +++ b/examples/python/visualization/non_english.py @@ -39,7 +39,7 @@ hanzi = "c:/windows/fonts/msyh.ttc" # YaHei UI chess = "c:/windows/fonts/seguisym.ttf" # Segoe UI Symbol else: - # Assumes Ubuntu 18.04 + # Assumes Ubuntu 20.04 serif = "DejaVuSerif" hanzi = "NotoSansCJK" chess = "/usr/share/fonts/truetype/freefont/FreeSerif.ttf" diff --git a/python/README.rst b/python/README.rst index 232c3b0ca24..0c225d07581 100644 --- a/python/README.rst +++ b/python/README.rst @@ -38,7 +38,7 @@ Supported platforms The package has been tested on: -* Ubuntu 18.04 and 20.04 +* Ubuntu 20.04 and 22.04 * Windows 10 64-bit * macOS High Sierra and above