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

Add publish support on ARM platform #1387

Closed

Conversation

kant2002
Copy link
Contributor

@kant2002 kant2002 commented Aug 5, 2021

Allow publish process on ARM

@@ -62,13 +62,13 @@
Text="Cross-OS native compilation is not supported. https://github.com/dotnet/corert/issues/5458" />

<Error Condition="'$(DisableUnsupportedError)' != 'true' and !($(RuntimeIdentifier.EndsWith('x64')) or
Copy link
Member

Choose a reason for hiding this comment

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

We have DisableUnsupportedError to allow suppressing the error message. Adding the new platform to the list here is one of the last steps once everything is working.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Make sense.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

General question. Does DisableUnsupportedError is dotnet/runtime property, or purely NativeAOT construct?

Copy link
Member

Choose a reason for hiding this comment

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

It is NativeAOT specific.

@kant2002
Copy link
Contributor Author

kant2002 commented Sep 5, 2021

I would like to ask again. Does something blocking ARM right now? What other quality issues left?

@jkotas
Copy link
Member

jkotas commented Sep 5, 2021

Are all smoke tests src/tests/nativeaot/SmokeTests passing on ARM?

@kant2002
Copy link
Contributor Author

kant2002 commented Sep 5, 2021

After #1511 I see following error

Time Elapsed 00:03:40.88
XUnit Wrappers have been built.
Creating test overlay...
__TargetOS: Linux
__BuildArch: arm
__BuildType: Release
__TestIntermediateDir: tests/obj/Linux.arm.Release
Creating TestBinDir: /home/pi/runtimelab/artifacts/tests/coreclr/Linux.arm.Release
Creating LogsDir: /home/pi/runtimelab/artifacts/log
Creating MsbuildDebugLogsDir: /home/pi/runtimelab/artifacts/log/MsbuildDebugLogs
Building step 'Restore product binaries (build tests)' via "/home/pi/runtimelab/eng/common/msbuild.sh"  --warnAsError false /home/pi/runtimelab/src/tests/build.proj /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true /p:UsePartialNGENOptimization=false /maxcpucount "/flp:Verbosity=normal;LogFile=/home/pi/runtimelab/artifacts/log/Restore_Packages.Linux.arm.Release.log" "/flp1:WarningsOnly;LogFile=/home/pi/runtimelab/artifacts/log/Restore_Packages.Linux.arm.Release.wrn" "/flp2:ErrorsOnly;LogFile=/home/pi/runtimelab/artifacts/log/Restore_Packages.Linux.arm.Release.err" /t:BatchRestorePackages /p:TargetArchitecture=arm /p:Configuration=Release /p:TargetOS=Linux /nodeReuse:false     /p:TestBuildMode=nativeaot /p:SmokeTestsOnly=true

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:14.35
Creating test overlay...
chmod: cannot access '/home/pi/runtimelab/artifacts/bin/coreclr/Linux.arm.Release/corerun': No such file or directory
Building step 'Creating test overlay' via "/home/pi/runtimelab/eng/common/msbuild.sh"  --warnAsError false /home/pi/runtimelab/src/tests/run.proj /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true /p:UsePartialNGENOptimization=false /maxcpucount "/flp:Verbosity=normal;LogFile=/home/pi/runtimelab/artifacts/log/Tests_Overlay_Managed.Linux.arm.Release.log" "/flp1:WarningsOnly;LogFile=/home/pi/runtimelab/artifacts/log/Tests_Overlay_Managed.Linux.arm.Release.wrn" "/flp2:ErrorsOnly;LogFile=/home/pi/runtimelab/artifacts/log/Tests_Overlay_Managed.Linux.arm.Release.err" /t:CreateTestOverlay /p:TargetArchitecture=arm /p:Configuration=Release /p:TargetOS=Linux /nodeReuse:false     /p:TestBuildMode=nativeaot /p:SmokeTestsOnly=true
/home/pi/runtimelab/eng/liveBuilds.targets(121,5): error : The 'CoreCLR' subset must be built before building this project. [/home/pi/runtimelab/src/tests/Common/test_dependencies_fs/test_dependencies.fsproj]
/home/pi/runtimelab/eng/liveBuilds.targets(121,5): error : The 'CoreCLR' subset must be built before building this project. [/home/pi/runtimelab/src/tests/Common/test_dependencies/test_dependencies.csproj]

The error means that corerun not present.

I only build following subsets - nativeaot+libs.ref+libs.native+nativeaot.packages. Notice that I build parts of libs. What else should I build to have corerun present in artifacts?

@jkotas
Copy link
Member

jkotas commented Sep 6, 2021

cannot access '/home/pi/runtimelab/artifacts/bin/coreclr/Linux.arm.Release/corerun': No such file or directory

This is non-fatal error. Linux x64 runs have it too
https://dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_apis/build/builds/1344079/logs/87

The 'CoreCLR' subset must be built before building this project.

Do the same steps work fine on native Linux x64? My guess is that you may be missing "The Debug/Release flag should match the flag that was passed to build.cmd in the previous step." or something like that from https://github.com/dotnet/runtimelab/blob/feature/NativeAOT/docs/workflow/building/coreclr/nativeaot.md#running-tests

@jkotas
Copy link
Member

jkotas commented Feb 1, 2022

This work should continue in dotnet/runtime repo

@jkotas jkotas closed this Feb 1, 2022
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.

2 participants