-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[workspace] Build IPOPT from source on Ubuntu #19388
[workspace] Build IPOPT from source on Ubuntu #19388
Conversation
@drake-jenkins-bot mac-arm-monterey-clang-bazel-experimental-debug please |
@drake-jenkins-bot linux-focal-unprovisioned-gcc-wheel-experimental-release please |
25f74a3
to
b0384aa
Compare
@drake-jenkins-bot mac-arm-monterey-unprovisioned-clang-wheel-experimental-release please |
b0384aa
to
12bd922
Compare
@drake-jenkins-bot mac-arm-monterey-unprovisioned-clang-wheel-experimental-release please |
@drake-jenkins-bot mac-x86-monterey-unprovisioned-clang-wheel-experimental-release please |
@drake-jenkins-bot linux-focal-unprovisioned-gcc-bazel-experimental-release please |
12bd922
to
1557826
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+@rpoyner-tri for feature review, please.
Reviewable status: 1 unresolved discussion, LGTM missing from assignee rpoyner-tri(platform), needs at least two assigned reviewers, labeled "do not merge" (waiting on @jwnimmer-tri and @rpoyner-tri)
a discussion (no related file):
Working
The macOS wheel builds are failing (because IPOPT is broken at runtime there). I suspect the problem is due to the version upgrade, probably due to a missing build-config setting whose default changed. I'll investigate.
In the meantime, the bulk of the changes here (Ubuntu, non-Wheel) should be ready for review.
tools/workspace/ipopt_internal_pkgconfig/repository.bzl
line 1 at r3 (raw file):
load(
FYI This file is renamed and lightly edited from the original tools/workspace/ipopt/repository.bzl
on master.
1557826
to
cfe2244
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 1 unresolved discussion, LGTM missing from assignee rpoyner-tri(platform), needs at least two assigned reviewers, labeled "do not merge" (waiting on @jwnimmer-tri and @rpoyner-tri)
a discussion (no related file):
Previously, jwnimmer-tri (Jeremy Nimmer) wrote…
Working
The macOS wheel builds are failing (because IPOPT is broken at runtime there). I suspect the problem is due to the version upgrade, probably due to a missing build-config setting whose default changed. I'll investigate.
In the meantime, the bulk of the changes here (Ubuntu, non-Wheel) should be ready for review.
Aha:
[6:50:10 AM] configure: WARNING: unrecognized options: --with-mumps-lib, --with-mumps-incdir
Maybe fixed now in r5.
@drake-jenkins-bot mac-arm-monterey-unprovisioned-clang-wheel-experimental-release please |
@drake-jenkins-bot mac-x86-monterey-unprovisioned-clang-wheel-experimental-release please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: LGTM missing from assignee rpoyner-tri(platform), needs at least two assigned reviewers, labeled "do not merge" (waiting on @jwnimmer-tri and @rpoyner-tri)
a discussion (no related file):
Previously, jwnimmer-tri (Jeremy Nimmer) wrote…
Aha:
[6:50:10 AM] configure: WARNING: unrecognized options: --with-mumps-lib, --with-mumps-incdir
Maybe fixed now in r5.
Done. The arm build passed. I assume x86 will as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 16 of 23 files at r1, 7 of 7 files at r4, 1 of 1 files at r5, all commit messages.
Reviewable status: needs at least two assigned reviewers, labeled "do not merge" (waiting on @jwnimmer-tri)
+@sammy-tri for platform review per schedule, please. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 16 of 23 files at r1, 7 of 7 files at r4, 1 of 1 files at r5, all commit messages.
Reviewable status: labeled "do not merge" (waiting on @jwnimmer-tri)
On Ubuntu, this is an upgrade from 3.11.9 to 3.14.12. On Ubuntu, we can now remove ipopt from the prereqs setup and skip it during wheel builds. It's licensed as EPL-2.0 so we can statically link it but we do need to distribute a patch file with our changes. We also teach vendor_cxx about gentler option for vendoring, where we only hide the symbols without prefixing them with "drake_vendor". On macOS, Homebrew usually tracks the newest upstream version so the urgency of rebuilding from source is reduced. Building from source would still help with linker issues, but since there is no MUMPS package in Homebrew the work to make it happen is not yet worth the time investment.
cfe2244
to
af49eb3
Compare
@drake-jenkins-bot mac-arm-monterey-clang-bazel-experimental-release please @drake-jenkins-bot mac-arm-monterey-unprovisioned-clang-wheel-experimental-release please @drake-jenkins-bot linux-focal-unprovisioned-gcc-wheel-experimental-release please |
Locally in a venv I did a final test of running the NLP tutorials notebook edited to use IPOPT, and it was fine. That's a final smoke test, so I'll plan to merge once CI wraps up. |
Towards #17231.
Also timely because we aspire to improve our
IpoptSolver
wrapper, so having the newest (and same) version on Ubuntu and macOS might aid that project.This change is