Skip to content

Allow feat_os_unix on NetBSD#11470

Open
0323pin wants to merge 6 commits intouutils:mainfrom
0323pin:main
Open

Allow feat_os_unix on NetBSD#11470
0323pin wants to merge 6 commits intouutils:mainfrom
0323pin:main

Conversation

@0323pin
Copy link
Contributor

@0323pin 0323pin commented Mar 23, 2026

Now that #11428 was merged, this should be fine.

However, CI will still fail.
See discussion on #5297 (comment) for a potential fix.

Compiling cross from git will cost 1m 31s on a 2014 Intel® Core™ i5-4210U CPU @ 1.70GHz (4)

Now that uutils#11428 was merged, this should be fine.

However, CI will still fail.
See discussion on uutils#5297 (comment)
for a potential fix.

Compiling `cross` from git will cost 1m 31s on a 2014 Intel® Core™ i5-4210U CPU @ 1.70GHz (4)
@github-actions
Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/date/date-locale-hour (fails in this run but passes in the 'main' branch)
Skipping an intermittent issue tests/tail/follow-name (passes in this run but fails in the 'main' branch)
Congrats! The gnu test tests/tail/pipe-f2 is no longer failing!
Congrats! The gnu test tests/tail/tail-n0f is now passing!

@0323pin
Copy link
Contributor Author

0323pin commented Mar 23, 2026

The expected failure on ubuntu-latest, x86_64-unknown-netbsd
Let me know if you would like to give this patch a go on the CI?!

--- a/.github/workflows/CICD.yml
+++ b/.github/workflows/CICD.yml
@@ -322,9 +322,8 @@ jobs:
         esac
-    - uses: taiki-e/install-action@v2
-      if: steps.vars.outputs.CARGO_CMD == 'cross'
-      with:
-        tool: cross@0.2.5
+    - name: Install cross from git
+      if: steps.vars.outputs.CARGO_CMD == 'cross'
+      run: cargo install cross --git https://github.com/cross-rs/cross --rev 588b3c99db52b5a9c5906fab96cfadcf1bde7863

@oech3
Copy link
Contributor

oech3 commented Mar 24, 2026

Plese resrtict building cross to netbsd by if:

@0323pin
Copy link
Contributor Author

0323pin commented Mar 24, 2026

Plese resrtict building cross to netbsd by if:

Ok, lets try that.

@github-actions
Copy link

GNU testsuite comparison:

GNU test failed: tests/misc/io-errors. tests/misc/io-errors is passing on 'main'. Maybe you have to rebase?
Skipping an intermittent issue tests/date/date-locale-hour (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/tail/follow-name (passes in this run but fails in the 'main' branch)
Note: The gnu test tests/tail/tail-n0f is now being skipped but was previously passing.
Congrats! The gnu test tests/csplit/csplit-heap is now passing!

@0323pin
Copy link
Contributor Author

0323pin commented Mar 24, 2026

Are you ok with bumping MSRV from 1.88 to 1.92? Or should I do this only for NetBSD?

EDIT: Maybe not ... I'll restrict this to the NetBSD build.

@oech3
Copy link
Contributor

oech3 commented Mar 24, 2026

MSRV bump should be traced at different issue.

@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/cut/bounded-memory (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/date/date-locale-hour (passes in this run but fails in the 'main' branch)

@0323pin
Copy link
Contributor Author

0323pin commented Mar 24, 2026

@oech3 Build (ubuntu-latest, x86_64-unknown-netbsd, feat_os_unix, use-cross, true, true) (pull_request)Successful in 3m 🥳

I cannot see how the CodSpeed benchmark service connection failure could be related to this PR.

@0323pin
Copy link
Contributor Author

0323pin commented Mar 24, 2026

MSRV bump should be traced at different issue.

Are you saying I should create a new issue that states we need at least 1.92 to build cross from git for the x86_64-unknown-netbsd target?

@0323pin
Copy link
Contributor Author

0323pin commented Mar 24, 2026

This PR closes #5297

@oech3 oech3 mentioned this pull request Mar 24, 2026
@oech3
Copy link
Contributor

oech3 commented Mar 24, 2026

#11475

@oech3
Copy link
Contributor

oech3 commented Mar 24, 2026

can be done at different PR, but we need to gate this by if: too

if: matrix.job.skip-publish != true && matrix.job.check-only == true
run: |
# expr breaks redox
sed -i.b '/"expr",/d' Cargo.toml
${{ steps.vars.outputs.CARGO_CMD }} ${{ steps.vars.outputs.CARGO_CMD_OPTIONS }} check \
--target=${{ matrix.job.target }} ${{ matrix.job.cargo-options }} ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} ${{ steps.vars.outputs.CARGO_DEFAULT_FEATURES_OPTION }}

which could cause another toolchain issue.

@0323pin
Copy link
Contributor Author

0323pin commented Mar 24, 2026

#11475

Thanks!

@0323pin
Copy link
Contributor Author

0323pin commented Mar 24, 2026

can be done at different PR, but we need to gate this by if: too

if: matrix.job.skip-publish != true && matrix.job.check-only == true
run: |
# expr breaks redox
sed -i.b '/"expr",/d' Cargo.toml
${{ steps.vars.outputs.CARGO_CMD }} ${{ steps.vars.outputs.CARGO_CMD_OPTIONS }} check \
--target=${{ matrix.job.target }} ${{ matrix.job.cargo-options }} ${{ steps.vars.outputs.CARGO_FEATURES_OPTION }} ${{ steps.vars.outputs.CARGO_DEFAULT_FEATURES_OPTION }}

which could cause another toolchain issue.

Ok, coming soon

@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/cut/bounded-memory (passes in this run but fails in the 'main' branch)

@0323pin
Copy link
Contributor Author

0323pin commented Mar 24, 2026

All checks have passed

@oech3, @cakebaker
Are we happy?

@oech3
Copy link
Contributor

oech3 commented Mar 24, 2026 via email

@0323pin
Copy link
Contributor Author

0323pin commented Mar 24, 2026

@sylvestre I hope it's clear now and that you are fine with it. Unfortunately, it seems cross is having trouble getting v0.3 out and what's in crates.io is over 3 years old by now.

@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/cut/bounded-memory (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/date/date-locale-hour (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/pr/bounded-memory (passes in this run but fails in the 'main' branch)
Note: The gnu test tests/tail/pipe-f is now being skipped but was previously passing.

@xtqqczze
Copy link
Contributor

xtqqczze commented Mar 24, 2026

@0323pin I was going to ask why this requires Rust 1.92, but since you (and @he32) maintain the *-unknown-netbsd rustc target, I assume there’s a solid reason behind it.

@oech3

This comment was marked as resolved.

@oech3
Copy link
Contributor

oech3 commented Mar 24, 2026

@0323pin
Copy link
Contributor Author

0323pin commented Mar 24, 2026

@xtqqczze As @oech3 pointed out, the reason is cross. NetBSD neeeds to use cross from git, v0.2.5 doesn't contain libexecinfo.

That said, this only affects the CI, native builds don't need the workaround.

pkgsrc is currently in commit freeze ahead of branching stable and has Rust-1.91.1 but, all my builds were done using 1.94.0

@xtqqczze
Copy link
Contributor

@0323pin
Copy link
Contributor Author

0323pin commented Mar 24, 2026

@xtqqczze We are pulling from a git-hash but the commit needs to be in main. It's not merged, yet.

@oech3 Maybe merge this one and when the lower MSRV commit is merged, we could create a new PR?

@oech3
Copy link
Contributor

oech3 commented Mar 24, 2026

I'm ok

@0323pin 0323pin requested a review from sylvestre March 24, 2026 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants