-
Notifications
You must be signed in to change notification settings - Fork 3.8k
[runtime] Fix building older runtimes with newer system Mono #12573
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
[runtime] Fix building older runtimes with newer system Mono #12573
Conversation
What was happening was that this was building with a Mono.Cecil from the build profile, but was trying to load the system Mono.Cecil. Those versions mismatch when building 2018-08 with a nightly mono that is 5.23.0. Rather than messing with the MONO_PATH and risking shadowing something important there, I chose to copy the Mono.Cecil files into this "lib/build/tmp" directory that we are using for the emitted executable. It is loaded by the system Mono as the correct Mono.Cecil to use. This fixes the build.
|
Blocking building tarball to build/merge #12565. Relevant to the 2018-08 milestone because this has to be merged and backported to merge another task that is also at that milestone. |
|
shouldn't this be a PR against |
|
I can make one against 2018-08 now, but I think that this PR will have to be backported to 2018-10 and 2018-12 as well. |
|
@monojenkins backport 2018-08 |
|
That build should test this change, as the PR builds are using the nightly package for system mono. |
|
is this a problem with the |
|
I will confirm, but I believe that to be the case. In both cases, we're building STRING_REPLACER in |
|
So it looks like 2018-12 is already copying that file into that path: |
|
Okay, so it looks like this was supposed to have happened as part of the normal build. We build This change seems to have been made by 8d8fd97 The failure that this PR was made to fix reproduces with 2018-08 on CI, but not with 2018-10. Since I've already got that backport, I am going to close this PR. |
What was happening was that this was building with a Mono.Cecil from
the build profile, but was trying to load the system Mono.Cecil.
Those versions mismatch when building 2018-08 with a nightly mono that is 5.23.0.
Rather than messing with the MONO_PATH and risking shadowing something
important there, I chose to copy the Mono.Cecil files into this
"lib/build/tmp" directory that we are using for the emitted executable.
It is loaded by the system Mono as the correct Mono.Cecil to use, as assemblies in the same folder have precedence.
This fixes the build.