-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Fix non-portable coreclr arm64 build #63121
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
Fix non-portable coreclr arm64 build #63121
Conversation
|
Tagging subscribers to this area: @hoyosjs Issue DetailsWithout this change arm64 coreclr build for tizen breaks with: Build command: ROOTFS_DIR=`pwd`/.tools/rootfs/arm64 ./build.sh --portablebuild false --cross --clang10 --arch arm64 --runtimeConfiguration Release --librariesConfiguration Release --subset clr+libs.native /p:EnableSourceLink=falseThis is related to #62563 and #63035. cc @alpencolt
|
|
@MichalStrehovsky could you, please, take a look? |
|
@gbalykov, if this project has same packaging plan as crossgen2 (i.e. only portable platform packages are produced), then I think a better / scalable solution is to replace these lines: runtime/src/coreclr/tools/aot/ILCompiler/ILCompiler.csproj Lines 24 to 30 in 32700f0
with a single: <RuntimeIdentifier>$(Crossgen2PackageRID)</RuntimeIdentifier>and keep it enabled on all platforms. |
MichalStrehovsky
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good. If @am11's suggestion works for you, that one also looks good.
0a3ba44 to
656540a
Compare
|
I've updated this PR to @am11 solution, I think it's a better one, but I've also renamed |
|
SourceBuild's failure is related, others are networking issues. This means it's not on the same packaging plan as crossgen2. We can try using |
656540a to
adc0270
Compare
|
@am11 approach with |
|
Assuming it works with both armel and arm64 Tizen builds, looks good, thanks! --- Directory.Build.props
+++ Directory.Build.props
- <!-- There are no non-portable builds for Ilasm/Ildasm -->
- <MicrosoftNetCoreIlasmPackageRuntimeId Condition="'$(PortableBuild)' != 'true' and '$(_portableOS)' == 'linux'">linux-$(_hostArch)</MicrosoftNetCoreIlasmPackageRuntimeId>
- <MicrosoftNetCoreIlasmPackageRuntimeId Condition="'$(MicrosoftNetCoreIlasmPackageRuntimeId)' == ''">$(_toolRuntimeRID)</MicrosoftNetCoreIlasmPackageRuntimeId>
+ <!-- There are no non-portable builds for Ilasm, Ildasm, ILC etc. -->
+ <ToolsRID Condition="'$(PortableBuild)' != 'true' and '$(_portableOS)' == 'linux'">linux-$(_hostArch)</ToolsRID>
+ <ToolsRID Condition="'$(ToolsRID)' == ''">$(_toolRuntimeRID)</ToolsRID>
+ <MicrosoftNetCoreIlasmPackageRuntimeId Condition="'$(MicrosoftNetCoreIlasmPackageRuntimeId)' == ''">$(ToolsRID)</MicrosoftNetCoreIlasmPackageRuntimeId>@gbalykov, (not related to this PR but) one interesting thing I noticed from 63122 in your build steps is that in case of libs/libs.tests, you don't pass Line 151 in ae2e360
|
|
@am11 thanks for Regarding portable build of libs. There were build problems with non-portable build of libs for tizen, which I first met with .net 5 (if I remember correctly). This is related to the fact that we do not ship tizen nuget packages. So, dotnet restore failed. Now I do not see any problems when libs are also built with |
adc0270 to
1662704
Compare
Directory.Build.props
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While you are at it, could you please rename the (private) property _toolRuntimeRID -> _toolsRID as well? It is only defined and used in this file. (word "runtime" is redundant)
1662704 to
c31c20b
Compare
|
@am11 I've updated PR, could you, please, take a look? |
am11
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, Thank you!
Linux failure is #61359 and OSX timeout is unrelated as well.
Directory.Build.props
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <MicrosoftNetCoreIlasmPackageRuntimeId Condition="'$(MicrosoftNetCoreIlasmPackageRuntimeId)' == ''">$(ToolsRID)</MicrosoftNetCoreIlasmPackageRuntimeId> | |
| <MicrosoftNetCoreIlasmPackageRuntimeId>$(ToolsRID)</MicrosoftNetCoreIlasmPackageRuntimeId> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done, thanks
c31c20b to
620fe36
Compare
|
Thanks! |
Without this change arm64 coreclr build for tizen breaks with:
Build command:
This is related to #62563 and #63035.
cc @alpencolt