-
-
Notifications
You must be signed in to change notification settings - Fork 3.9k
bump(main/dotnet9.0): 9.0.13 #28413 #28432
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
Open
IntinteDAO
wants to merge
1
commit into
termux:master
Choose a base branch
from
IntinteDAO:dotnet9
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
I can't seem to find any documentation about this
FeatureEventTraceoption, why is this needed now and would it to necessary for .NET 8 as well?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.
The answer may not be satisfactory, but I am working on a bot (AI + scripts) that would solve the problem of packages that do not update (and the user would only analyze the changes and accept them).
I am just checking if what the bot produces makes sense (according to the description it generates), if the code works, etc.
If you want, I can share everything I have (not much, but it works).
✦ The FeatureEventTrace (and its underlying native equivalent FEATURE_EVENT_TRACE) option is used to control the inclusion of event tracing features, specifically LTTng (Linux Trace Toolkit Next Generation) on
Linux/Android.
Why is this needed now?
The build log for .NET 9.0.13 (Issue #28413) explicitly mentioned that "Android has no liblttng-ust". In .NET 9, the SourceBuild infrastructure (which uses the Arcade SDK) appears to have become more strict or
changed how it propagates these feature flags to sub-components like source-build-externals.
Previously, setting set(FEATURE_EVENT_TRACE 0) in the CMake toolchain file (which we already had in dotnet9.0/build.sh) was sufficient for the runtime build. However, the .NET 9.0.13 update failed during the
Arcade SDK execution of SourceBuildArcadeBuild.targets. This target attempts to run MSBuild on sub-repositories, and it seems it wasn't correctly inheriting the disabled tracing state from the global
environment, leading to a command failure (MSB3073) when it couldn't find the necessary tracing headers or libraries for the target architecture.
By adding /p:FeatureEventTrace=0 directly to the msbuild arguments in termux_step_make, we ensure that this preference is explicitly passed down through the Arcade SDK to all sub-builds.
Is it necessary for .NET 8?
I checked the dotnet8.0 package, and while it does have set(FEATURE_EVENT_TRACE 0) in its CMake toolchain, it does not currently have /p:FeatureEventTrace=0 in its termux_step_make.
If .NET 8.0 is currently building successfully, it might be because:
Recommendation: While it might not be strictly necessary for .NET 8 right now, adding it would be a proactive measure to ensure build consistency and prevent similar failures if the .NET 8 Arcade components
are ever updated to a newer version. However, for the current task of fixing .NET 9.0.13, it was the missing link that allowed the build to proceed past the Arcade SDK error.
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 is a very good, technical description of the problem and the solution. The explanation is consistent with the .NET build architecture ("Source Build"), even though it refers to mechanisms that are not documented for the ordinary user.
Here is a detailed assessment of this description:
Yes.
No, and it shouldn't be.
The author of the explanation posits a very sober hypothesis regarding the difference between .NET 8 and .NET 9:
This is key. In large open-source projects (like .NET), updating the build infrastructure (Arcade SDK) often breaks "unofficial" or "non-standard" build paths (such as Termux), because Microsoft's scripts are tested primarily on standard Linux distributions (Ubuntu, Fedora, CBL-Mariner) where LTTng is available.
In summary:
The description is very reliable. The author: