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

[workspace] Build IPOPT from source on macOS #22331

Merged
merged 1 commit into from
Jan 2, 2025

Conversation

jwnimmer-tri
Copy link
Collaborator

@jwnimmer-tri jwnimmer-tri commented Dec 18, 2024

Towards #21476 and #17231 and #21714.


This change is Reviewable

@jwnimmer-tri jwnimmer-tri added priority: low release notes: fix This pull request contains fixes (no new features) labels Dec 18, 2024
jwnimmer-tri

This comment was marked as outdated.

@jwnimmer-tri jwnimmer-tri marked this pull request as ready for review December 18, 2024 15:42
@jwnimmer-tri
Copy link
Collaborator Author

+@rpoyner-tri we should probably tap you for feature review on this, please. It's low priority, though -- need not happen this CY.

Copy link
Contributor

@rpoyner-tri rpoyner-tri left a comment

Choose a reason for hiding this comment

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

checkpoint (obvious stuff). More later.

Reviewed 18 of 26 files at r1, 2 of 3 files at r2.
Reviewable status: LGTM missing from assignee rpoyner-tri(platform), needs at least two assigned reviewers

Copy link
Contributor

@rpoyner-tri rpoyner-tri left a comment

Choose a reason for hiding this comment

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

:lgtm:

Reviewed 5 of 26 files at r1, 1 of 3 files at r2, all commit messages.
Reviewable status: 1 unresolved discussion, needs at least two assigned reviewers


tools/workspace/mumps_internal/repository.bzl line 34 at r2 (raw file):

mumps_internal_repository = repository_rule(
    doc = """Adds a repository rule for the host mumps library from Ubuntu.
    This repository is not useful on macOS; the repository rule will evalutate

typo

Suggestion:

evaluate

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.

+@xuchenhan-tri for platform review, please (load balancing Sean after the break).

Reviewed 5 of 5 files at r3, all commit messages.
Reviewable status: LGTM missing from assignee xuchenhan-tri(platform)

Copy link
Contributor

@rpoyner-tri rpoyner-tri left a comment

Choose a reason for hiding this comment

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

Reviewed 5 of 5 files at r3, all commit messages.
Reviewable status: LGTM missing from assignee xuchenhan-tri(platform)

Copy link
Contributor

@xuchenhan-tri xuchenhan-tri left a comment

Choose a reason for hiding this comment

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

:lgtm:

Reviewed 19 of 26 files at r1, 2 of 3 files at r2, 5 of 5 files at r3, all commit messages.
Reviewable status: 2 unresolved discussions


solvers/BUILD.bazel line 1537 at r3 (raw file):

            # SPRAL is the default on macOS, so ipopt_solver_test already has
            # us covered. Only on Ubuntu (where MUMPS is the default) do we
            # need to run-run this test.

typo? run-run?


tools/workspace/ipopt/package.BUILD.bazel line 7 at r3 (raw file):

package(default_visibility = ["//visibility:public"])

_MESSAGE = "DRAKE DEPRECATED: The @ipopt repository alias is no longer available, and there is no replacement. If you still something related to IPOPT, you may wish to copy the repository rule from a prior Drake release into your project. The deprecated code will be removed from Drake on or after 2025-04-01."  # noqa

nit, removal date.

One consequence is that MUMPS is no longer available as one of IPOPT's
linear solvers on macOS (because homebrew refuses to accept our pull
requests to package MUMPS standalone, after 9 months of us trying).
The only linear solver is SPRAL.

Remove now-irrelevant ipopt_internal_pkgconfig and therefore rename
ipopt_internal_fromsource to just plain ipopt_internal.

Remove now-irrelevant IPOPT code from the wheel build.

Relatedly, remove TODOs in CLP considering adding support for MUMPS,
both because we can't use it on macOS and also because we've recently
learned that MUMPS has global variables (is not threadsafe).

Deprecate the `@ipopt` repository alias.
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.

Reviewed 3 of 3 files at r4, all commit messages.
Reviewable status: :shipit: complete! all discussions resolved, LGTM from assignees rpoyner-tri(platform),xuchenhan-tri(platform)

Copy link
Contributor

@rpoyner-tri rpoyner-tri left a comment

Choose a reason for hiding this comment

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

Reviewed 3 of 3 files at r4, all commit messages.
Reviewable status: :shipit: complete! all discussions resolved, LGTM from assignees rpoyner-tri(platform),xuchenhan-tri(platform)

@jwnimmer-tri jwnimmer-tri merged commit 1927f59 into RobotLocomotion:master Jan 2, 2025
8 of 9 checks passed
@jwnimmer-tri jwnimmer-tri deleted the mac-ipopt branch January 2, 2025 22:48
@jwnimmer-tri jwnimmer-tri added the release notes: newly deprecated This pull request contains new deprecations label Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: low release notes: fix This pull request contains fixes (no new features) release notes: newly deprecated This pull request contains new deprecations
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants