Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[doc] Streamline Drake build instructions #22461

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jwnimmer-tri
Copy link
Collaborator

@jwnimmer-tri jwnimmer-tri commented Jan 14, 2025

There is now a single install_prereqs script for all platforms, which defaults to installing only the build prereqs (not developer prereqs). (Future work will further consolidate the implementation of the prereqs into simpler files.)

Retool our from_source (user) and bazel (developer) pages to use the new script and generally rewrite large chunks for improved clarity.


There are basically four main flows we focus on now:

(1) Typical users who install from binary (installation.html).

(2) Advanced users who need/decide to install from source (from_source.html).

(3) Drake developers/contributors (bazel.html).

(4) Downstream projects that already use Bazel (the small tail end of from_source.html).

The goal here is to make each of those four flows have a particular home in our docs, to have each of their flows be simple / easy / robust, and to redirect people who start from the wrong page (wrong flow) back into the flow they should be using.


This change is Reviewable

@jwnimmer-tri jwnimmer-tri added priority: medium release notes: none This pull request should not be mentioned in the release notes labels Jan 14, 2025
@jwnimmer-tri
Copy link
Collaborator Author

@drake-jenkins-bot linux-jammy-unprovisioned-clang-bazel-experimental-debug please
@drake-jenkins-bot linux-jammy-unprovisioned-clang-bazel-experimental-everything-debug please
@drake-jenkins-bot linux-jammy-unprovisioned-clang-bazel-experimental-everything-release please
@drake-jenkins-bot linux-jammy-unprovisioned-clang-bazel-experimental-release please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-bazel-experimental-debug please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-bazel-experimental-documentation please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-bazel-experimental-documentation please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-bazel-experimental-everything-debug please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-bazel-experimental-everything-release please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-bazel-experimental-mirror-to-s3 please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-bazel-experimental-release please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-bazel-experimental-release please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-cmake-experimental-debug please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-cmake-experimental-everything-debug please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-cmake-experimental-everything-release please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-cmake-experimental-packaging please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-cmake-experimental-packaging please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-cmake-experimental-release please
@drake-jenkins-bot linux-jammy-unprovisioned-gcc-wheel-experimental-release please
@drake-jenkins-bot linux-noble-unprovisioned-gcc-cmake-experimental-packaging please
@drake-jenkins-bot mac-arm-sequoia-unprovisioned-clang-bazel-experimental-release please
@drake-jenkins-bot mac-arm-sonoma-unprovisioned-clang-bazel-experimental-release please
@drake-jenkins-bot mac-arm-sonoma-unprovisioned-clang-cmake-experimental-packaging please
@drake-jenkins-bot mac-arm-sonoma-unprovisioned-clang-wheel-experimental-release please

@jwnimmer-tri jwnimmer-tri changed the title [doc] Streamline build instructions [doc] Streamline Drake build instructions Jan 14, 2025
Copy link
Contributor

@ggould-tri ggould-tri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 3 unresolved discussions, needs platform reviewer assigned, needs at least two assigned reviewers


doc/_pages/from_source.md line 106 at r1 (raw file):

    version is hard-coded in Drake and cannot be configured.
* WITH_SNOPT (default OFF). When ON, enables the `SnoptSolver` in the build.
  * This option is mutally exclusive with `WITH_ROBOTLOMOTION_SNOPT`.

typo

Suggestion:

ROBOTLOCOMOTION

doc/_pages/from_source.md line 112 at r1 (raw file):

  * Drake does not support using a SNOPT binary release (i.e., shared library);
    it requires a source archive (i.e., the Fortran code).
* WITH_ROBOTLOMOTION_SNOPT (default OFF). When ON, enables the `SnoptSolver`

typo

Suggestion:

ROBOTLOCOMOTION

doc/_pages/from_source.md line 178 at r1 (raw file):

If you enable any of proprietary solvers flags, then you must first install
the solver and set environment variables per the
[Proprietary Solvers](http://127.0.0.1:8000/bazel.html#proprietary-solvers)

BTW: I'm not sure that this is going to be sane when viewed on the drake website? Consider a relative URL?

Suggestion:

bazel.html#proprietary-solvers

There is now a single install_prereqs script for all platforms, which
defaults to installing only the build prereqs (not developer prereqs).
(Future work will further consolidate the prereqs into simpler files.)

Retool our from_source (user) and bazel (developer) pages to use the
new script and generally rewrite large chunks for improved clarity.
Copy link
Collaborator Author

@jwnimmer-tri jwnimmer-tri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me propose this:

+@sherm1 for feature review of the changes in setup/_pages/bazel.md (i.e., the developer-focused docs), please.

+@mwoehlke-kitware for feature review of the changes in setup/** plus the changes to docs/_pages/from_source.md, please.

Then for a final pass, we'll have 1 platform reviewer look over the whole thing including cross-checking all of the small 1-line edits.

WDYT?

Reviewable status: LGTM missing from assignees ggould-tri(platform),sherm1(platform),mwoehlke-kitware, labeled "do not merge" (waiting on @jwnimmer-tri)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: medium release notes: none This pull request should not be mentioned in the release notes status: do not merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants