Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@alexanderkyte
Copy link
Contributor

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.

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.
@alexanderkyte
Copy link
Contributor Author

alexanderkyte commented Jan 22, 2019

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.

@alexanderkyte alexanderkyte added this to the 2018-08 (5.18.xx) milestone Jan 22, 2019
@lambdageek
Copy link
Member

shouldn't this be a PR against 2018-08 not against master?

@alexanderkyte alexanderkyte removed this from the 2018-08 (5.18.xx) milestone Jan 22, 2019
@alexanderkyte
Copy link
Contributor Author

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.

@alexanderkyte
Copy link
Contributor Author

@monojenkins backport 2018-08

@alexanderkyte
Copy link
Contributor Author

That build should test this change, as the PR builds are using the nightly package for system mono.

@lambdageek
Copy link
Member

is this a problem with the build profile in recent Mono versions, too? the original issue was with the basic profile in 2018-08

@alexanderkyte
Copy link
Contributor Author

I will confirm, but I believe that to be the case. In both cases, we're building STRING_REPLACER in /tmp and running with a system mono.

@alexanderkyte
Copy link
Contributor Author

So it looks like 2018-12 is already copying that file into that path:

mcs/class/lib/build/tmp (29a2d7c67e3) $ ls
Mono.Cecil.dll

@alexanderkyte
Copy link
Contributor Author

@alexanderkyte
Copy link
Contributor Author

alexanderkyte commented Jan 22, 2019

Okay, so it looks like this was supposed to have happened as part of the normal build.

We build $(the_lib) which is ("mcs/class/lib/build") and copy into $(build_lib) which is ("/mcs/class/lib/build/tmp") .

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants