-
Notifications
You must be signed in to change notification settings - Fork 37.7k
guix: Build for macOS using Clang only #32764
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
base: master
Are you sure you want to change the base?
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code Coverage & BenchmarksFor details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32764. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. 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. |
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.
Concept ACK
My Guix build:
|
@@ -493,6 +493,54 @@ inspecting signatures in Mach-O binaries.") | |||
(("^install-others =.*$") | |||
(string-append "install-others = " out "/etc/rpc\n"))))))))))))) | |||
|
|||
(define-public libcxx-18 ;; 18.1.8 |
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.
In 6ad54dc: Rather than adding a package here, I think we should wait until we next bump the time-machine (I've got a branch with some changes for this), where we'll likely use LLVM/Clang 19, and then can just use libcxx
(19). We could also upstream a libcxx-20
now, which could then be used if we switch to LLVM/Clang 20.
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.
In 6ad54dc: Rather than adding a package here, I think we should wait until we next bump the time-machine (I've got a branch with some changes for this), where we'll likely use LLVM/Clang 19, and then can just use
libcxx
(19).
That was my initial approach, as suggested in #30206 (comment). Unfortunately, there's an upstream issue in Guix affecting the riscv64
host:
riscv64-linux-gnu-ld: relocation R_RISCV_RVC_JUMP against `__sigsetjmp' which may bind externally can not be used when making a shared object; recompile with -fPIC
...
build of /gnu/store/2drzypp2rgya0qcab3izkv9d8ib0kqvv-glibc-cross-riscv64-linux-gnu-2.31.drv failed
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.
Unfortunately, there's an upstream issue in Guix affecting the riscv64 host:
See #33185.
My Guix build matches @hebasto. No opinion on the change though. |
This PR makes macOS builds Clang-only by switching the build compiler in depends to
clang
+libc++
.See: #30206.