Skip to content

ci: enable target x86_64-unknown-redox - #5355

Draft
xtqqczze wants to merge 1 commit into
rust-lang:mainfrom
xtqqczze:ci-redox
Draft

ci: enable target x86_64-unknown-redox#5355
xtqqczze wants to merge 1 commit into
rust-lang:mainfrom
xtqqczze:ci-redox

Conversation

@xtqqczze

@xtqqczze xtqqczze commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@rustbot rustbot added A-CI Area: CI-related items O-redox O-unix labels Aug 2, 2026
@tgross35

tgross35 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

I think the docker file may need PATH=$PATH:/.redoxer/toolchain/bin:/rust/bin-> PATH=$PATH:/root/.redoxer/x86_64-unknown-redox/toolchain/bin

@xtqqczze

xtqqczze commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author
error: could not exec the linker `x86_64-unknown-redox-gcc`
  |
  = note: Permission denied (os error 13)
  = note: LC_ALL="C" PATH="/rust/lib/rustlib/x86_64-unknown-linux-gnu/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.redoxer/x86_64-unknown-redox/toolchain/bin:/rust/bin" VSLANG="1033" "x86_64-unknown-redox-gcc" "-m64" "/checkout/target/x86_64-unknown-redox/debug/build/libc/f09ef5c4ffb8ee7d/out/rustcp67W34/symbols.o" "/checkout/target/x86_64-unknown-redox/debug/build/libc/f09ef5c4ffb8ee7d/out/const_fn-f09ef5c4ffb8ee7d.20kif35vuv8j62688gsrtjrw4.17ho6vc.rcgu.o" "/checkout/target/x86_64-unknown-redox/debug/build/libc/f09ef5c4ffb8ee7d/out/const_fn-f09ef5c4ffb8ee7d.7x0986yvfx4hz8eva83ubjzoo.17ho6vc.rcgu.o" "/checkout/target/x86_64-unknown-redox/debug/build/libc/f09ef5c4ffb8ee7d/out/const_fn-f09ef5c4ffb8ee7d.9tg38nr3zb2cfvknv2l1bi61y.17ho6vc.rcgu.o" "/checkout/target/x86_64-unknown-redox/debug/build/libc/f09ef5c4ffb8ee7d/out/const_fn-f09ef5c4ffb8ee7d.9vuafplf3npnbtfmkatozmd0x.17ho6vc.rcgu.o" "/checkout/target/x86_64-unknown-redox/debug/build/libc/f09ef5c4ffb8ee7d/out/const_fn-f09ef5c4ffb8ee7d.eqlwbyroe7qlapa8n22q6b538.17ho6vc.rcgu.o" "/checkout/target/x86_64-unknown-redox/debug/build/libc/f09ef5c4ffb8ee7d/out/const_fn-f09ef5c4ffb8ee7d.diwc5thjnimkvqqlrm096jfet.17ho6vc.rcgu.o" "-Wl,--as-needed" "-Wl,-Bstatic" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libpanic_unwind-348274c06b4f52ba.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libtest-0fb18f88641b4829.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libgetopts-9a913149d083b69c.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/librustc_std_workspace_std-3a69685ff8d3f6aa.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libstd-79b3bdedfb112edf.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libobject-140f80d7340f3533.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libmemchr-cc097554d2ecff24.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libaddr2line-f048c8a0ea4a1f7c.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libgimli-dcceb42d3a248efa.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libcfg_if-67913e7eb5a4dea8.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/librustc_demangle-1b60d43944abaea3.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libstd_detect-af3e6c8e4479da05.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libhashbrown-d5d846e2dd6f80ea.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/librustc_std_workspace_alloc-74275f615fd25796.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libminiz_oxide-8d1c7c03802874f7.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libadler2-245237f93c35d5dc.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libunwind-51ca714079d9a361.rlib" "-lgcc_eh" "/rust/lib/rustlib/x86_64-unknown-redox/lib/liblibc-029c9a834c53f8e6.rlib" "-lc" "/rust/lib/rustlib/x86_64-unknown-redox/lib/librustc_std_workspace_core-8254f426b1e738f7.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/liballoc-d27972690df9954a.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libcore-8c10e64c24729233.rlib" "/rust/lib/rustlib/x86_64-unknown-redox/lib/libcompiler_builtins-3eb4cacf4f5e5210.rlib" "-L" "/checkout/target/x86_64-unknown-redox/debug/build/libc/f09ef5c4ffb8ee7d/out/rustcp67W34/raw-dylibs" "-Wl,-Bdynamic" "-lgcc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-o" "/checkout/target/x86_64-unknown-redox/debug/build/libc/f09ef5c4ffb8ee7d/out/const_fn-f09ef5c4ffb8ee7d" "-Wl,--gc-sections" "-static" "-no-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"

@tgross35

tgross35 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

No idea then, perhaps @jackpot51 knows.

(On that note, maybe you'd like to add a second target maintainer for redox? Just so you're not the only one to get pinged)

@xtqqczze

xtqqczze commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

For uutils, we ended up switching CI for the Redox target to check-only: uutils/coreutils#10950.

I wonder if a similar approach would make sense for some of the libc targets as well.

@tgross35

tgross35 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

We do ensure it builds at least,

Target("x86_64-unknown-redox"),
. Tests would just be nice if we could get them to work.

Alternatively if Redox happens to be mirroring libc and testing it in their repos somehow, we could just link it at #5209.

@tgross35 tgross35 mentioned this pull request Aug 12, 2026
4 tasks
RUN mv /root/.redoxer /.redoxer

ENV PATH=$PATH:/.redoxer/toolchain/bin:/rust/bin \
ENV PATH=$PATH:/root/.redoxer/x86_64-unknown-redox/toolchain/bin \

@willnode willnode Aug 13, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

From the CI manual, it should be more reliable to do this

Suggested change
ENV PATH=$PATH:/root/.redoxer/x86_64-unknown-redox/toolchain/bin \
RUN ln -sf /root/.redoxer ~/.redoxer
ENV PATH=$PATH:$HOME/.redoxer/x86_64-unknown-redox/toolchain/bin \

I have no idea where EPERM could happen, I haven't fully tested run-docker.sh, at glance it looks like it should works (the requirement to get the toolchain to work is only glibc >= 2.41), but let me know if this suggestion still fail so I can test myself.

I'm the build maintainer for Redox OS, so feel free to ping me anywhere about CI for redox.

View changes since the review

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Right, we at least get build errors now.

@willnode willnode Aug 15, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks like a lot of work to do, can it be optional for now? I can also help in spare time.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

There’s no way to make the whole job optional, but you can add a test skip for anything that’s not trivial to fix (see the skip_* functions in the libc-test/build directory)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: CI-related items O-redox O-unix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants