-
Notifications
You must be signed in to change notification settings - Fork 37.7k
build: Remove deprecated CMAKE_SKIP_BUILD_RPATH and SKIP_BUILD_RPATH settings #33247
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/33247. ReviewsSee the guideline for information on the review process. 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.
This is my first attempt at contributing to bitcoin core so please, provide me any feedback that you might have. Thanks!
Thank you for your interest in contributing to this project!
The changes you are referring to as completed, i.e. "reordering Guix script commands to perform binary checks after the installation step", have not actually been done yet. See contrib/guix/libexec/build.sh
, from line 251 onwards.
Thanks for your helpful reply @hebasto. I've pushed another commit attempting to perform the actual reordering of the Guix script commands to perform those checks after the installation step; I tested it locally and it seemed to build successfully, hope I got the right idea here. |
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 a027234, all checks are still performed on the binaries in the build tree, whereas they are supposed to be performed on the binaries in the installation location.
When a developer tests changes in the Guix scripts locally, they usually posts the resulting binary hashes. For example, as in #33217 (review). |
Thanks for the feedback hebasto, I'll continue working on this
The conflict resolves easily by keeping both changes. |
Welcome, please also change this message for a description of the changes made in this PR. Helpful tips are in creating-the-pull-request |
Thanks for the feedback. The previous change moved checks after installation but was still using cmake --build targets which check build tree binaries. I've now fixed this to directly call the security and symbol check scripts on the installed binaries in ${INSTALLPATH}/bin/, ensuring checks are performed on the final installed binaries with proper RPATHs.
I'm currently running a full Guix build locally to generate the binary hashes. The build is in progress and I'll post the resulting hashes once it completes. |
My Guix build resulting binary hashes:
|
Please squash your commits according to https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md#squashing-commits |
e406fa4
to
59c0f51
Compare
59c0f51
to
49c4688
Compare
There was a TODO still in the src/CMakeLists.txt file; I cleaned it up and squashed the commits just now and think that it is now all correct. |
Guix builds (on x86_64) [untrusted test-only build, possibly unsafe, not for production use] |
Is there anything further required here? I understand that review for pull requests can take a long time (especially for non-critical things such as this one) but just wanted to check in and see if there's further action needed from me, or anything about this pull request that I could improve. |
Please squash your commits according to https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md#squashing-commits |
…targets Remove deprecated CMake settings (CMAKE_SKIP_BUILD_RPATH and SKIP_BUILD_RPATH) that are no longer needed after reordering Guix build script to perform binary checks after installation. Changes: - Remove CMAKE_SKIP_BUILD_RPATH TRUE setting from main CMakeLists.txt - Remove SKIP_BUILD_RPATH OFF property setting from src/CMakeLists.txt - Reorder Guix script to check installed binaries instead of build tree binaries - Remove unused CMake maintenance targets (check-security, check-symbols) - Update TODO comments to reflect completed changes This addresses the TODO items mentioned in: - CMakeLists.txt:620 - src/CMakeLists.txt:412 Relevant discussions: - hebasto#236 (comment) - bitcoin#30312 (comment)
ef5dd15
to
ce12ebe
Compare
I'm still learning, but I think I did the squashing correctly now, hopefully! Thanks for your patience and hope I can be of some value to the project :) |
Remove deprecated CMake RPATH settings (CMAKE_SKIP_BUILD_RPATH and SKIP_BUILD_RPATH) that are no longer needed after reordering Guix build script to perform binary checks after installation.
Remove RPATH workarounds from CMakeLists.txt and src/CMakeLists.txt
Reorder Guix script to check installed binaries instead of build tree binaries
Update TODO comments
Builds successfully on Linux
Full Guix build in progress
Addresses TODO items in CMakeLists.txt:620 and src/CMakeLists.txt:412
This is my first attempt at contributing to bitcoin core so please, provide me any feedback that you might have. Thanks!