-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[RISC-V] Test build doesn't make crossgen2 executable in RISC-V. #108973
Comments
The solution for this is discussed in #105004 (#105004 (comment) is outline of the solution). |
Problem is that PR tied crossgen2_publishing with NativeAotSupported=true (and linux-riscv64 has it false), while the project itself accounts for AotOrSingleFile=true. I am not sure if deleting that part of the condition from this line Line 361 in 830ce3a
It has gotten even worse for platforms where target OS is non-linux, and freebsd has NativeAotSupported=true while illumos has it false. I haven't figured out the all-encompassing magic spell yet. Tried multiple different things, but the build is quite complex.. |
Feel free to share what you have tried, so that we can iterated on it. |
@jkotas, I was force pushing to the other branch main...am11:runtime:feature/freebsd-port/outputrid2. Here are the freebsd logs https://github.com/am11/CrossRepoCITesting/actions/workflows/freebsd-x64-runtime-build.yml so far I've gotten to the point where restore succeeds with Locally I'm on arm64 machine and build-rootfs for freebsd-arm64 wasn't working (and x64 emulation doesn't work with dotnet), so I'm using github workflow. I will switch to x64 machine on the weekend to reduce the iteration time. Meanwhile, if someone has ideas how to improve, feel free. 😅 |
I tried. It built without any error. However, crossgen2 executable is not made. I can't find differences.
With
|
It is work in progress and I'm focused on freebsd-x64, which is one part of the matrix (that targetos != hostos added in toolAot.targets can be relaxed for any non linux-arm/64 crossbuild). Right now it clears restore but tries to build stuff which depend on LKG apphost:
although all illink projects are skipped in subsets.props, this one gets pulled by livebuidls. When we started #105004, there was no issue on |
@shushanhf @sunlijun-610 are you getting similar issues when building crossgen2 or nativeatot on loongarch with latest main branch? My guess is it should be failing on LA64 same way it does on other community platforms. |
In fact, we always build and test the runtime and SDK on LoongArch64-PC directly and the crossgen2 is OK. |
@shushanhf, thanks for the info. If we have the previous SDK in Line 3 in 3aa1ec5
runtime/build.sh should work in theory. But in practice, since #107772 is merged, it requires ILCompiler nupkg to publish crossgen2 among other things when building on the device (HostArch==TargetArch) Lines 125 to 127 in 3aa1ec5
I was trying to understand what is your workaround for this part on current main branch? |
Recently, after test build, I cannot find crossgen2 executable.
How I build test.
Files in crossgen2 directory of old artifact.
Files in crossgen2 directory of latest artifact.
I cannot find
crossgen2_publish
directory inartifacts/bin/
From #106965, we need crossgen2 executable to execute some R2R tests in clrtest.
These are failed clrtests due to this issue on RISC-V.
Error message is like
./test49826.sh: line 328: /linux.riscv64.Checked/Tests/Core_Root/crossgen2/crossgen2: No such file or directory
message.As far as I know, test build fails from #107772 and test build doesn't make crossgen2 executable from #108693
I tried some to make crossgen2. However, I can't.
(*. I can just made a crosgen2 and passed tests if I revert #107772, #108693, and #103375 and set
PublishReadyToRun
to false incrossgen2_publish.csproj
. I never think it is a right approach.)I don't know well about build environment. Could you please help?
Thank you.
cc @dotnet/samsung @jkotas @am11
The text was updated successfully, but these errors were encountered: