Skip to content
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

Clean up Solaris CI #126025

Open
workingjubilee opened this issue Jun 5, 2024 · 5 comments
Open

Clean up Solaris CI #126025

workingjubilee opened this issue Jun 5, 2024 · 5 comments
Labels
C-cleanup Category: PRs that clean code up or issues documenting cleanup. O-solaris Operating system: Solaris T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Comments

@workingjubilee
Copy link
Contributor

We should clean up our Solaris CI. The poorly-maintained build script recently caused a significant downtime, and even my fix was just a rude hack.

Alternately, we can decommission our Solaris CI!

If someone objects it would be great to have them formally write down their contact info in a platform support page for the targets.

@workingjubilee workingjubilee added C-cleanup Category: PRs that clean code up or issues documenting cleanup. O-solaris Operating system: Solaris labels Jun 5, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Jun 5, 2024
@fmease fmease added T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) and removed needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Jun 5, 2024
@workingjubilee
Copy link
Contributor Author

cc @psumbera

Not to put you on the spot, but I was the only one at the time who knew to try to reach out to you when the build issue was in Solaris. Obviously, I don't think it was actually intrinsic to Solaris per se, mostly our naughty build script doing needless work, but you're probably more able to identify which parts of what we do are needless work.

@onur-ozkan onur-ozkan added the T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. label Jun 5, 2024
@psumbera
Copy link
Contributor

psumbera commented Jun 7, 2024

I would love to help here. But have no idea how it's supposed to work. Is there any documentation for it?

@workingjubilee
Copy link
Contributor Author

nope lol

@workingjubilee
Copy link
Contributor Author

There is documentation for the platform support and the target tier policy which Solaris has been effectively "grandfathered" in, allowing it to exist as tier 2 despite not having maintainers.

There is documentation on how our Docker CI works in general.

There is nothing documenting the Solaris toolchain script.

@psumbera
Copy link
Contributor

psumbera commented Jul 2, 2024

I think I'm getting into it. I have Oracle Linux and I did:

git clone --recurse-submodules https://github.com/rust-lang/rust.git rust
cd rust
./src/ci/docker/run.sh dist-various-2

And it seems to work as expected. I'm little bit confused with caching...

But I have different question. I'm playing with it and I would like to build full Rust compiler for Solaris (not just std). But it fails. I tired NetBSD build and it fails the same way. So maybe I do something wrong.

./src/ci/docker/run.sh dist-x86_64-netbsd
..
  cargo:rerun-if-env-changed=CXXFLAGS_x86_64_unknown_netbsd
  CXXFLAGS_x86_64_unknown_netbsd = Some("-ffunction-sections -fdata-sections -fPIC -m64")
  cargo:warning=In file included from llvm-wrapper/PassWrapper.cpp:8:0:
  cargo:warning=llvm-wrapper/LLVMWrapper.h:3:10: fatal error: llvm-c/BitReader.h: No such file or directory
  cargo:warning= #include "llvm-c/BitReader.h"
  cargo:warning=          ^~~~~~~~~~~~~~~~~~~~
  cargo:warning=compilation terminated.

  --- stderr


  error occurred: Command "sccache" "x86_64--netbsd-g++-sysroot" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I/checkout/obj/build/x86_64-unknown-netbsd/ci-llvm/include" "-std=c++17" "-fno-exceptions" "-funwind-tables" "-fno-rtti" "-D_GNU_SOURCE" "-D_DEBUG" "-D_GLIBCXX_ASSERTIONS" "-D__STDC_CONSTANT_MACROS" "-D__STDC_FORMAT_MACROS" "-D__STDC_LIMIT_MACROS" "-DLLVM_COMPONENT_AARCH64" "-DLLVM_COMPONENT_ARM" "-DLLVM_COMPONENT_ASMPARSER" "-DLLVM_COMPONENT_AVR" "-DLLVM_COMPONENT_BITREADER" "-DLLVM_COMPONENT_BITWRITER" "-DLLVM_COMPONENT_BPF" "-DLLVM_COMPONENT_COVERAGE" "-DLLVM_COMPONENT_CSKY" "-DLLVM_COMPONENT_HEXAGON" "-DLLVM_COMPONENT_INSTRUMENTATION" "-DLLVM_COMPONENT_IPO" "-DLLVM_COMPONENT_LINKER" "-DLLVM_COMPONENT_LOONGARCH" "-DLLVM_COMPONENT_LTO" "-DLLVM_COMPONENT_M68K" "-DLLVM_COMPONENT_MIPS" "-DLLVM_COMPONENT_MSP430" "-DLLVM_COMPONENT_NVPTX" "-DLLVM_COMPONENT_POWERPC" "-DLLVM_COMPONENT_RISCV" "-DLLVM_COMPONENT_SPARC" "-DLLVM_COMPONENT_SYSTEMZ" "-DLLVM_COMPONENT_WEBASSEMBLY" "-DLLVM_COMPONENT_X86" "-DLLVM_COMPONENT_XTENSA" "-DLLVM_RUSTLLVM" "-DNDEBUG" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-netbsd/release/build/rustc_llvm-4e0f23126eb0183e/out/7372e21ddc8be4fd-PassWrapper.o" "-c" "llvm-wrapper/PassWrapper.cpp" with args x86_64--netbsd-g++-sysroot did not execute successfully (status code exit status: 1).

Any idea about this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-cleanup Category: PRs that clean code up or issues documenting cleanup. O-solaris Operating system: Solaris T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

5 participants