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

[wheel] Remove vendored libcrypt #22392

Merged

Conversation

jwnimmer-tri
Copy link
Collaborator

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

It's been deprecated in CPython for couple years now. When python3-config --ldflags on Ubuntu tells us that we should always be linking -lcrypt, it is lying to us.


This change is Reviewable

@jwnimmer-tri jwnimmer-tri added priority: low release notes: fix This pull request contains fixes (no new features) labels Jan 4, 2025
@jwnimmer-tri
Copy link
Collaborator Author

@drake-jenkins-bot linux-jammy-unprovisioned-gcc-wheel-experimental-release please
@drake-jenkins-bot mac-arm-sonoma-unprovisioned-clang-wheel-experimental-release please

@jwnimmer-tri
Copy link
Collaborator Author

+@mwoehlke-kitware for feature review, please.

Copy link
Contributor

@mwoehlke-kitware mwoehlke-kitware left a comment

Choose a reason for hiding this comment

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

Those "manylinux somethings" appear to relate to pypa/manylinux#305 (see also RobotLocomotion/pip-drake#15). However, it looks to me as if Python has always "promised" to make that API available, whether or not a module actually needs it (which we, presumably, don't).

I'm a little twitchy because our baseline is still 3.10 which has not deprecated its availability, though again, since it seems we don't actually need it, I guess we can try, and hope nothing breaks.

:lgtm:

Reviewed 3 of 3 files at r1.
Reviewable status: 1 unresolved discussion, needs platform reviewer assigned, needs at least two assigned reviewers


-- commits line 5 at r1:

Suggestion:

  This library was being pushed on us by python3-config because CPython 
  guaranteed its availability prior to 3.13 (deprecated in 3.11). However,
  Drake has never actually needed it; therefore, excise it from the list
  of linked libraries so that we can stop vendoring it.

This library was being pushed on us by python3-config because CPython
guaranteed its availability prior to 3.13 (deprecated in 3.11).
However, Drake has never actually needed it; therefore, excise it from
the list of linked libraries so that we can stop vendoring it.
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.

I'm fairly confident that nothing in our native modules actually needs it.

Even on Fedora where they played SONAME games with libcrypt.so.2, users can sudo dnf install libxcrypt-compat to put back libcrypt.so.1. I suppose there might still be a load-time problem if nothing actually loads that library via some NEEDED? Meh.

Anyway, the bottom line is that we only support Ubuntu and our CI tests prove this is OK on Ubuntu. If users on other platforms experience new problems because of this, we can triage those reports for whatever is actually happening.

+@ggould-tri for platform review per schedule, please.

Dismissed @mwoehlke-kitware from a discussion.
Reviewable status: LGTM missing from assignee ggould-tri(platform)


-- commits line 5 at r1:
Done.

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.

:lgtm:

Reviewed 3 of 3 files at r1, all commit messages.
Reviewable status: :shipit: complete! all discussions resolved, LGTM from assignees ggould-tri(platform),mwoehlke-kitware

@jwnimmer-tri jwnimmer-tri merged commit ba39733 into RobotLocomotion:master Jan 6, 2025
10 checks passed
@jwnimmer-tri jwnimmer-tri deleted the wheel-rm-libcrypt branch January 6, 2025 16:22
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)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants