Skip to content

Conversation

@PastaPastaPasta
Copy link
Member

Issue being fixed or feature implemented

Our script didn't use host specific objcopy, so it would crash with not being able to interpret them depending on what we were building on and for.

What was done?

Use proper objcopy

How Has This Been Tested?

CI after: https://github.com/PastaPastaPasta/dash/actions/runs/19547578950
CI before: https://github.com/PastaPastaPasta/dash/actions/runs/19544501408

Breaking Changes

Checklist:

Go over all the following points, and put an x in all the boxes that apply.

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation
  • I have assigned this pull request to a milestone (for repository code-owners and collaborators only)

@PastaPastaPasta PastaPastaPasta added this to the 23.1 milestone Nov 20, 2025
@github-actions
Copy link

github-actions bot commented Nov 20, 2025

✅ No Merge Conflicts Detected

This PR currently has no conflicts with other open PRs.

@coderabbitai
Copy link

coderabbitai bot commented Nov 20, 2025

Walkthrough

The build script in contrib/guix/libexec/build.sh is modified to use host-prefixed tool invocations across three locations. Instead of invoking plain objcopy and readelf, the script now invokes ${HOST}-objcopy and ${HOST}-readelf respectively. These changes apply to debug symbol extraction, Build ID verification, and debug link validation operations. The underlying control flow and error handling logic remain unaffected.

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~5-10 minutes

  • Straightforward tool invocation replacements across a single shell script file
  • Repetitive pattern (plain tool names → host-prefixed tool names)
  • No logic changes or control flow modifications
  • Changes are localized and consistent in nature

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: using host-prefixed objcopy and readelf tools instead of plain tools.
Description check ✅ Passed The description is directly related to the changeset, explaining the issue (missing host-specific tools), the fix applied (using proper objcopy), and providing CI test results for verification.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6700ca9 and 4d278c6.

📒 Files selected for processing (1)
  • contrib/guix/libexec/build.sh (3 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • contrib/guix/libexec/build.sh
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build container / Build container

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

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

Looks good conceptually but pls check linter

@PastaPastaPasta
Copy link
Member Author

@UdjinM6 4d278c6

@kwvg kwvg self-requested a review November 20, 2025 20:21
Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

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

utACK 4d278c6

@kwvg kwvg mentioned this pull request Nov 20, 2025
5 tasks
@kwvg
Copy link
Collaborator

kwvg commented Nov 20, 2025

Checksums for 4d278c6

59a90dd6d3ba5d414bfcdabddff3491518892c1f3d8877cf4e77ed41981d93c4  dashcore-23.0.0-rc.3-455-g4d278c657447-aarch64-linux-gnu-debug.tar.gz
3c09ce013c8180cbedee02545b998056aec0a1f88d8b78b3cdcfaa29ed12691b  dashcore-23.0.0-rc.3-455-g4d278c657447-aarch64-linux-gnu.tar.gz
446939244691d3b6a42d52834cd08cb36fbf3033852a2c247eb165f695fa64b4  dashcore-23.0.0-rc.3-455-g4d278c657447.tar.gz
4c4b0644470715714d7e45b74400b4481e5b4b3aaf8fe6d1954db2e262182a6e  dashcore-23.0.0-rc.3-455-g4d278c657447-riscv64-linux-gnu-debug.tar.gz
b8a4c4a874bcbbba3d1e54c8c2f64a43c5dbfae74b3d16aacbcc2d5dad04cbc6  dashcore-23.0.0-rc.3-455-g4d278c657447-riscv64-linux-gnu.tar.gz
a17fd3d8dc501f4f339b5559c4152e0e144ead5b038c3a247aeed62960d2c308  dashcore-23.0.0-rc.3-455-g4d278c657447-x86_64-linux-gnu-debug.tar.gz
ce29964e67aae9005e36e6a4abf034e54edcf8736d680cec0a832effb68d8f12  dashcore-23.0.0-rc.3-455-g4d278c657447-x86_64-linux-gnu.tar.gz
fe89ed512a7fea489a82a8574b9aa957a54f1c611623ed7054d4fe3093626f05  dashcore-23.0.0-rc.3-455-g4d278c657447-win64-debug.zip
c7938d7e5acd908358c8f152891321e055ab020a1c8a1b43b623e2fdf5b6d91a  dashcore-23.0.0-rc.3-455-g4d278c657447-win64-setup-unsigned.exe
694baca57725f5492e580b1decb16ae349458b40504a159b5544876d6f698830  dashcore-23.0.0-rc.3-455-g4d278c657447-win64-unsigned.tar.gz
fef835a8c5297d0a9446d927b1ad3641ef07ca4f37afff39422e52bb56c44ad7  dashcore-23.0.0-rc.3-455-g4d278c657447-win64.zip

Copy link
Collaborator

@kwvg kwvg left a comment

Choose a reason for hiding this comment

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

ACK 4d278c6

@DashCoreAutoGuix
Copy link

Guix Automation has failed due to the HEAD commit not being signed by an authorized core-team member. Please rebase and sign or push a new empty signed commit to allow Guix build to happen.

@PastaPastaPasta PastaPastaPasta merged commit 303480f into dashpay:develop Nov 21, 2025
31 of 35 checks passed
PastaPastaPasta added a commit that referenced this pull request Nov 21, 2025
c359fb2 ci: bump to Clang 19 (Kittywhiskers Van Gogh)
9c9e876 partial bitcoin#33185: update time-machine to 5cb84f2013c5b1e48a7d0e617032266f1e6059e2 (Kittywhiskers Van Gogh)
7fef63d merge bitcoin#31529: latest 2.31 glibc (Kittywhiskers Van Gogh)
de1b467 merge bitcoin#30730: Bump time machine to 53396a22afc04536ddf75d8f82ad2eafa5082725 (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  Spun-off from [dash#6998](#6988) to remedy CI failures. Potential alternative to [dash#6991](#6991) as Clang 19 does not seem to exhibit failures observed with Clang 18 ([comment](#6991 (comment))) caused by change in compile flags in [dash#6966](#6966).

  **Note:** ~~The base of this pull request does not use latest `develop` (86e84d7) due to build issues potentially related to [dash#6971](#6971) (see below) and uses a slightly out-of-date base to sidestep the issue. The build issue was found to be present independent of this PR using the Guix container.~~ Fixed with [dash#6997](#6997).

  <details>

  <summary>Build error:</summary>

  ```
  make[2]: Nothing to be done for 'install-exec-am'.
   /home/ubuntu/.guix-profile/bin/mkdir -p '/distsrc-base/distsrc-23.0.0-rc.3-453-g86e84d701641-x86_64-linux-gnu/installed/dashcore-23.0.0-rc.3-453-g86e84d701641//lib/pkgconfig'
   /home/ubuntu/.guix-profile/bin/install -c -m 644 libdashconsensus.pc '/distsrc-base/distsrc-23.0.0-rc.3-453-g86e84d701641-x86_64-linux-gnu/installed/dashcore-23.0.0-rc.3-453-g86e84d701641//lib/pkgconfig'
  make[2]: Leaving directory '/distsrc-base/distsrc-23.0.0-rc.3-453-g86e84d701641-x86_64-linux-gnu'
  make[1]: Leaving directory '/distsrc-base/distsrc-23.0.0-rc.3-453-g86e84d701641-x86_64-linux-gnu'
  objcopy: Unable to recognise the format of the input file `dashcore-23.0.0-rc.3-453-g86e84d701641/bin/dash-tx.dbg'
  objcopy: Unable to recognise the format of the input file `dashcore-23.0.0-rc.3-453-g86e84d701641/lib/libdashconsensus.so.0.0.0.dbg'
  objcopy: Unable to recognise the format of the input file `dashcore-23.0.0-rc.3-453-g86e84d701641/bin/dash-cli.dbg'
  objcopy: Unable to recognise the format of the input file `dashcore-23.0.0-rc.3-453-g86e84d701641/bin/dash-wallet.dbg'
  objcopy: Unable to recognise the format of the input file `dashcore-23.0.0-rc.3-453-g86e84d701641/bin/dash-qt.dbg'
  objcopy: Unable to recognise the format of the input file `dashcore-23.0.0-rc.3-453-g86e84d701641/bin/test_dash.dbg'
  objcopy: Unable to recognise the format of the input file `dashcore-23.0.0-rc.3-453-g86e84d701641/bin/dashd.dbg'
  ```

  </details>

  ## Breaking Changes

  None expected.

  ## Checklist

  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**
  - [x] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation **(note: N/A)**
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK c359fb2

Tree-SHA512: 69576f6e6c0c101be434b273e9a84d1ab9f9341734241e794585615f194b453d2983dce077f9a2efa04b93bfba2374274aad0f90a1a07aed4ef87ff3f22ddd59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants