Skip to content

Commit

Permalink
Remove support for Ubuntu 18.04 Bionic (RobotLocomotion#16931)
Browse files Browse the repository at this point in the history
* Remove support for Ubuntu 18.04 Bionic
  • Loading branch information
BetsyMcPhail authored Apr 13, 2022
1 parent 29530d2 commit e050069
Show file tree
Hide file tree
Showing 28 changed files with 31 additions and 250 deletions.
12 changes: 5 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,12 @@ else()
)
endif()

# The supported releases should match those listed in both doc/developers.rst
# and tools/workspace/os.bzl.
if(NOT UNIX_DISTRIBUTION_CODENAME MATCHES "^(bionic|focal)$")
# The supported releases should match those listed in both
# doc/_pages/from_source.md and tools/workspace/os.bzl.
if(NOT UNIX_DISTRIBUTION_CODENAME MATCHES "^(focal)$")
message(FATAL_ERROR
"Release ${UNIX_DISTRIBUTION_CODENAME} is NOT supported. Please use "
"Ubuntu 18.04 (Bionic) or 20.04 (Focal)."
"Ubuntu 20.04 (Focal)."
)
endif()
endif()
Expand Down Expand Up @@ -206,11 +206,9 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 17)

# The supported Python major/minor versions should match those listed in both
# doc/developers.rst and tools/workspace/python/repository.bzl.
# doc/_pages/from_source.md and tools/workspace/python/repository.bzl.
if(APPLE)
set(SUPPORTED_PYTHON_VERSION 3.9)
elseif(UNIX_DISTRIBUTION_CODENAME STREQUAL bionic)
set(SUPPORTED_PYTHON_VERSION 3.6)
else()
set(SUPPORTED_PYTHON_VERSION 3.8)
endif()
Expand Down
2 changes: 1 addition & 1 deletion bindings/pydrake/pydrake_doxygen.h
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ To view the documentation rendered in Sphinx:
bazel run //doc/pydrake:serve_sphinx [-- --browser=false]
@note Drake's online Python documentation is generated on Ubuntu Bionic, and it
@note Drake's online Python documentation is generated on Ubuntu Focal, and it
is suggested to preview documentation using this platform. Other platforms may
have slightly different generated documentation.
Expand Down
2 changes: 1 addition & 1 deletion doc/_pages/apt.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ title: Installation via APT (Ubuntu)
# APT Packages

Drake publishes pre-compiled binaries as APT packages (``*.deb``) for the
Ubuntu 18.04 (Bionic) and Ubuntu 20.04 (Focal) operating systems. Refer to
Ubuntu 20.04 (Focal) operating system. Refer to
[Supported Configurations](/installation.html#supported-configurations)
for additional compatibility details.

Expand Down
2 changes: 1 addition & 1 deletion doc/_pages/bazel.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ typical examples below; for more reading about target patterns, see:
[https://docs.bazel.build/versions/main/user-manual.html#target-patterns](https://docs.bazel.build/versions/main/user-manual.html#target-patterns).

On Ubuntu, the default compiler is the first ``gcc`` compiler in the
``PATH``, usually GCC 7.5 on Bionic and GCC 9.3 on Focal. On macOS, the default
``PATH``, usually GCC 9.3 on Focal. On macOS, the default
compiler is the Apple LLVM compiler. To use Clang 9 on Ubuntu, set the ``CC``
and ``CXX`` environment variables before running **bazel build**, **bazel test**
or any other **bazel** commands.
Expand Down
8 changes: 0 additions & 8 deletions doc/_pages/from_source.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ integration. Any other configurations are provided on a best-effort basis.

| Operating System ⁽⁴⁾ | Architecture | Python | Bazel | CMake | C/C++ Compiler ⁽⁵⁾ | Java |
|----------------------------------|--------------|---------|-------|-------|------------------------------------|-------------------------------|
| Ubuntu 18.04 LTS (Bionic Beaver) | x86_64 ⁽¹⁾ | 3.6 ⁽³⁾ | 5.1 | 3.10 | GCC 7.5 (default) or Clang 9 | OpenJDK 11 |
| Ubuntu 20.04 LTS (Focal Fossa) | x86_64 ⁽¹⁾ | 3.8 ⁽³⁾ | 5.1 | 3.16 | GCC 9.3 (default) or Clang 9 | OpenJDK 11 |
| macOS Big Sur (11) | x86_64 ⁽²⁾ | 3.9 ⁽³⁾ | 5.1 | 3.19 | Apple LLVM 12.0.0 (Xcode 12.4) | AdoptOpenJDK 15 (HotSpot JVM) |
| macOS Monterey (12) | x86_64 ⁽²⁾ | 3.9 ⁽³⁾ | 5.1 | 3.19 | Apple LLVM 12.0.0 (Xcode 12.4) | AdoptOpenJDK 15 (HotSpot JVM) |
Expand Down Expand Up @@ -118,13 +117,6 @@ cmake -DWITH_GUROBI=ON -DWITH_MOSEK=ON ../drake

You will also need to have your ``PYTHONPATH`` configured correctly.

*Ubuntu 18.04 (Bionic):*

```bash
cd drake-build
export PYTHONPATH=${PWD}/install/lib/python3.6/site-packages:${PYTHONPATH}
```

*Ubuntu 20.04 (Focal):*

```bash
Expand Down
6 changes: 3 additions & 3 deletions doc/_pages/getting_help.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@ If you wish to contribute a patch, please see how to [submit a pull request](/de
When reporting an issue, please consider providing the following information
(``helper command in monospace``):

* Operating system (e.g., Ubuntu 18.04 or macOS Monterey)
* Operating system (e.g., Ubuntu Focal 20.04 or macOS Monterey)
* Installation method (e.g., pip, apt, binary tar.gz, docker image, or
rebuilding from source)
* Language you are using (C++ or [Python](/python_bindings.html))
* If using C++:
* C++ compiler (e.g., GCC 7.5.0, GCC 9.3.0, Clang 6.0.0)
* C++ compiler (e.g., GCC 9.3.0, Clang 6.0.0)
* If using Python:
* Python version (e.g., Python 3.6.7)
* Python version (e.g., Python 3.8)
* Python distribution (e.g., Ubuntu apt, macOS homebrew)
* If building from source:
* Build system (Bazel or CMake)
Expand Down
2 changes: 0 additions & 2 deletions doc/_pages/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ officially supports:

| Operating System ⁽⁴⁾ | Architecture | Python |
|----------------------------------|--------------|---------|
| Ubuntu 18.04 LTS (Bionic Beaver) | x86_64 ⁽¹⁾ | 3.6 ⁽³⁾ |
| Ubuntu 20.04 LTS (Focal Fossa) | x86_64 ⁽¹⁾ | 3.8 ⁽³⁾ |
| macOS Big Sur (11) | x86_64 ⁽²⁾ | 3.9 ⁽³⁾ |
| macOS Monterey (12) | x86_64 ⁽²⁾ | 3.9 ⁽³⁾ |
Expand Down Expand Up @@ -51,7 +50,6 @@ compiler as our releases:

| Operating System | C/C++ Compiler |
|----------------------------------|--------------------------------|
| Ubuntu 18.04 LTS (Bionic Beaver) | GCC 7.5 |
| Ubuntu 20.04 LTS (Focal Fossa) | GCC 9.3 |
| macOS Big Sur (11) | Apple LLVM 12.0.0 (Xcode 12.4) |
| macOS Monterey (12) | Apple LLVM 12.0.0 (Xcode 12.4) |
Expand Down
2 changes: 1 addition & 1 deletion doc/_release-notes/template.txt
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ Newly bound


This release provides [pre-compiled binaries](https://github.com/RobotLocomotion/drake/releases/tag/{version}) named
``drake-YYYYMMDD-{{bionic|focal|mac}}.tar.gz``. See [Stable Releases](/from_binary.html#stable-releases) for instructions on how to use them.
``drake-YYYYMMDD-{{focal|mac}}.tar.gz``. See [Stable Releases](/from_binary.html#stable-releases) for instructions on how to use them.

Drake binary releases incorporate a pre-compiled version of [SNOPT](https://ccom.ucsd.edu/~optimizers/solvers/snopt/) as part of the
[Mathematical Program toolbox](https://drake.mit.edu/doxygen_cxx/group__solvers.html). Thanks to
Expand Down
7 changes: 0 additions & 7 deletions setup/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,7 @@ exports_files([
"mac/source_distribution/requirements.txt",
"mac/source_distribution/requirements-maintainer-only.txt",
"mac/source_distribution/requirements-test-only.txt",
"ubuntu/binary_distribution/packages-bionic.txt",
"ubuntu/binary_distribution/packages-focal.txt",
"ubuntu/source_distribution/packages-bionic.txt",
"ubuntu/source_distribution/packages-bionic-clang.txt",
"ubuntu/source_distribution/packages-bionic-doc-only.txt",
"ubuntu/source_distribution/packages-bionic-maintainer-only.txt",
"ubuntu/source_distribution/packages-bionic-test-only.txt",
"ubuntu/source_distribution/packages-focal.txt",
"ubuntu/source_distribution/packages-focal-clang.txt",
"ubuntu/source_distribution/packages-focal-doc-only.txt",
Expand Down Expand Up @@ -52,7 +46,6 @@ install_files(
"deepnote/install_nginx",
"deepnote/nginx-meshcat-proxy.conf",
"ubuntu/binary_distribution/install_prereqs.sh",
"ubuntu/binary_distribution/packages-bionic.txt",
"ubuntu/binary_distribution/packages-focal.txt",
],
"//conditions:default": [],
Expand Down
6 changes: 3 additions & 3 deletions setup/ubuntu/binary_distribution/install_prereqs.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
#
# Install development and runtime prerequisites for binary distributions of
# Drake on Ubuntu 18.04 (Bionic) or 20.04 (Focal).
# Drake on Ubuntu 20.04 (Focal).

set -euo pipefail

Expand Down Expand Up @@ -66,8 +66,8 @@ apt-get install ${maybe_yes} --no-install-recommends lsb-release

codename=$(lsb_release -sc)

if [[ "${codename}" != 'bionic' && "${codename}" != 'focal' ]]; then
echo 'ERROR: This script requires Ubuntu 18.04 (Bionic) or 20.04 (Focal)' >&2
if [[ "${codename}" != 'focal' ]]; then
echo 'ERROR: This script requires Ubuntu 20.04 (Focal)' >&2
exit 2
fi

Expand Down
64 changes: 0 additions & 64 deletions setup/ubuntu/binary_distribution/packages-bionic.txt

This file was deleted.

2 changes: 1 addition & 1 deletion setup/ubuntu/install_prereqs.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
#
# Install development and runtime prerequisites for both binary and source
# distributions of Drake on Ubuntu 18.04 (Bionic) or 20.04 (Focal).
# distributions of Drake on Ubuntu 20.04 (Focal).

set -euo pipefail

Expand Down
16 changes: 8 additions & 8 deletions setup/ubuntu/source_distribution/install_prereqs.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
#
# Install development prerequisites for source distributions of Drake on
# Ubuntu 18.04 (Bionic) or 20.04 (Focal).
# Ubuntu 20.04 (Focal).
#
# The development and runtime prerequisites for binary distributions should be
# installed before running this script.
Expand Down Expand Up @@ -92,20 +92,20 @@ codename=$(lsb_release -sc)
packages=$(cat "${BASH_SOURCE%/*}/packages-${codename}.txt")
apt-get install ${maybe_yes} --no-install-recommends ${packages}

# TODO(svenevs): when bionic is dropped, satisfy can be used unconditionally.
if [[ "${codename}" != 'bionic' ]]; then
apt-get satisfy ${maybe_yes} --no-install-recommends \
'libcurl4-gnutls-dev | libcurl4-dev'
fi

# TODO(svenevs): Ideally we would have `packages-${codename}-satisfy.txt`,
# an example workflow is in #16233 but xargs needs work (see #16280).
apt-get satisfy ${maybe_yes} --no-install-recommends \
'libcurl4-gnutls-dev | libcurl4-dev'

# Ensure that we have available a locale that supports UTF-8 for generating a
# C++ header containing Python API documentation during the build.
apt-get install ${maybe_yes} --no-install-recommends locales
locale-gen en_US.UTF-8

if [[ "${codename}" == 'focal' ]]; then
# We need a working /usr/bin/python (of any version). On Bionic it's there
# by default, but on Focal we have to ask for it.
# We need a working /usr/bin/python (of any version).
# On Focal we have to ask for it.
if [[ ! -e /usr/bin/python ]]; then
apt-get install ${maybe_yes} --no-install-recommends python-is-python3
else
Expand Down
2 changes: 0 additions & 2 deletions setup/ubuntu/source_distribution/packages-bionic-clang.txt

This file was deleted.

9 changes: 0 additions & 9 deletions setup/ubuntu/source_distribution/packages-bionic-doc-only.txt

This file was deleted.

This file was deleted.

24 changes: 0 additions & 24 deletions setup/ubuntu/source_distribution/packages-bionic-test-only.txt

This file was deleted.

40 changes: 0 additions & 40 deletions setup/ubuntu/source_distribution/packages-bionic.txt

This file was deleted.

1 change: 0 additions & 1 deletion tools/install/bazel/generate_installed_files_manifest.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ def _impl(ctx):
"manipulation/models/iiwa_description/iiwa_stack.LICENSE.txt",
"setup/Brewfile",
"setup/install_prereqs",
"setup/packages-bionic.txt",
"setup/packages-focal.txt",
"setup/requirements.txt",
# These are installed in share/drake and are runfiles for certain
Expand Down
3 changes: 0 additions & 3 deletions tools/install/dockerhub/bionic/.dockerignore

This file was deleted.

19 changes: 0 additions & 19 deletions tools/install/dockerhub/bionic/Dockerfile

This file was deleted.

Loading

0 comments on commit e050069

Please sign in to comment.