-
-
Notifications
You must be signed in to change notification settings - Fork 12.4k
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
postgresql: link against MIT Kerberos #47494
Conversation
Catalina build failed with the following but it doesn't appear to be related to this change. See also #47458.
|
@BrewTestBot test this please |
On the pull request specifically: if we're going to go this route, would it be easy enough to add a test case for this (unless it's too complex) and add a brief comment describing why krb5 is used over the system library (even just a link to here is fine)? On the wider issue: the core of the matter is that macOS Kerberos uses libdispatch which should not be used with fork. This isn't the only place where this happens - libsqlite3 is another known problem. The issues have lead to Python recently adding a recommendation to their docs to not use fork on macOS where possible and to instead use It's been an issue for years as far as I know. |
The included utilities, e.g.
The conclusion thus far on the linked mailing list thread is that Unfortunately, I don't have the time or energy to pursue this with Apple. If someone from Homebrew is willing to do so, there are small C programs in that thread that work on Linux (with krb5) but fail on macOS (with Kerberos.framework.) Finally, as a |
Not really. I'd just say that the system Kerberos.framework crashes when forked and link this pull request. It's probably the easiest way to avoid a paragraph.
I don't expect you to either. This isn't a new bug.
I hope you'll understand when I say that reason is a little irrelevant for homebrew-core without any degree of certainty other than "might". The general policy has been to always use system libraries unless such libraries are proven to be insufficient or problematic. I understand your concern from a downstream POV though. I do want to focus a bit on this though:
Are they going to take any steps on their side about that? Their official binaries also use Kerberos.framework. This doesn't seem to be Homebrew-specific so if The way Homebrew builds PostgreSQL is very similar to the official binaries at the moment. |
I'm afraid I don't know what "official binaries" are. All the links on this page lead away from postgresql.org. It might be worth asking on the mailing list. |
e1a57af
to
48e541c
Compare
Added in amended commit 48e541cb7c5704639c2a65d49e9f1a75055c4ffd. |
@BrewTestBot test this please |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
This breakage is at runtime and widespread. I'd really like to see this merged. |
CI build is failing though. That has to be fixed first |
@BrewTestBot test this please |
The GSS libraries provided in macOS segfault when used in applications that fork(). This happens more often in languages like Ruby and Python. Notably, `rails console` breaks almost immediately. Discussion: https://postgr.es/m/16041-b44f9931ad91fc3d%40postgresql.org
48e541c
to
1f3309a
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.
LGTM
I'll give it a few more hours before merging to make sure other maintainers (esp. @Bo98) have a chance to get eyes on this.
brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew test <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingbrew install <formula>
)?The GSS libraries provided in macOS segfault when used in applications that fork(). This happens more often in languages like Ruby and Python. Notably,
rails console
breaks almost immediately.Discussion: https://postgr.es/m/16041-b44f9931ad91fc3d%40postgresql.org
Related: ged/ruby-pg#311
The
libpq
formula is unaffected because it does not use--with-gssapi
.