-
Notifications
You must be signed in to change notification settings - Fork 37.8k
build: Do not ignore Homebrew's SQLite on macOS #20527
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
Conversation
Mind considering backporting into 0.21? |
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
utACK ef7cd61 |
Needs rebase (due to #20478) |
ef7cd61
to
0479464
Compare
Rebased ef7cd61 -> 0479464 (pr20527.01 -> pr20527.02) due to the conflict with #20478. |
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.
Tested 0479464 on macOS 11.0.1 with Homebrew 2.6.0
Verified that homebrews sqlite
is auto-selected after installation and builds sucessfully.
Interestingly, after uninstalling brews sqlite
I still found references to ghost homebrew libraries in the Makefile because of the way brew --prefix sqlite3
works: https://github.com/Homebrew/brew/blob/3821d37997a7b385cc97bb51169de56f641d5c39/Library/Homebrew/cmd/--prefix.rb#L23
It means that if brew
is installed but brew's sqlite
is not, then brew --prefix sqlite
will still return where it would install it, and having this path added to the Makefile accordingly.
I have tested that installation does indeed still pass in this case, but it might still be worth testing the sqlite prefix and then the presence of the binary/bin folder itself to avoid a future issue, e.g.:
test ! -d $(brew --prefix sqlite)/bin
I think the code in this PR handles this case fine, as it actually adds a non-existent path to the |
I'm not that experienced with Makefiles' path interpreter but agree that having that extra (non-existant) path in |
0479464
to
7bf449e
Compare
Updated 0479464 -> 7bf449e (pr20527.02 -> pr20527.03, diff):
|
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.
code review ACK 7bf449e
This change unifies Homebrew packages workflow, and does not change behavior.
7bf449e
to
03c65e4
Compare
Updated 7bf449e -> 03c65e4 (pr20527.03 -> pr20527.04):
|
tACK 03c65e4 Building without brew
vs building with brew
|
03c65e4
to
c932e0d
Compare
Updated 03c65e4 -> c932e0d (pr20527.04 -> pr20527.05, diff):
|
With brew sqlite installed, running
It does not appear to impact the build, but I am curious how it's ending up there, as the code would suggest this would only be prepended to PKG_CONFIG_PATH when That said, another tACK of c932e0d |
Hmm, did you run |
@hebasto you are right, re-running |
Code review ACK c932e0d |
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.
code review re-ACK c932e0d
This change unifies Homebrew packages workflow, and does not change behavior. Github-Pull: bitcoin#20527 Rebased-From: c96d1f6
Github-Pull: bitcoin#20527 Rebased-From: ee7b84e
Github-Pull: bitcoin#20527 Rebased-From: c932e0d
Backported in #20612 because this has been marked for backport |
On master (7ae86b3) installed Homebrew
sqlite
package is ignored during build on macOS.This PR fixes this issue and update macOS build docs.
Closes #20498.