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

Mono not producing native binaries with version header in Windows #37503

Closed
safern opened this issue Jun 5, 2020 · 6 comments · Fixed by #45376
Closed

Mono not producing native binaries with version header in Windows #37503

safern opened this issue Jun 5, 2020 · 6 comments · Fixed by #45376
Assignees
Milestone

Comments

@safern
Copy link
Member

safern commented Jun 5, 2020

While working on collapsing the mono official builds into single legs, I noticed that we don't produce a runtime pack for Windows:

- template: /eng/pipelines/installer/installer-matrix.yml
parameters:
jobParameters:
liveRuntimeBuildConfig: release
liveLibrariesBuildConfig: Release
isOfficialBuild: ${{ variables.isOfficialBuild }}
useOfficialAllConfigurations: false
buildFullPlatformManifest: false
runtimeFlavor: mono
platforms:
- OSX_x64
- Linux_x64
- tvOS_x64
- tvOS_arm64
- iOS_arm
- iOS_arm64
- iOS_x64
- iOS_x86
- Android_arm
- Android_arm64
- Android_x64
- Android_x86
- Browser_wasm

I added that to my test change and the windows build failed with:

F:\workspace\_work\1\s\.packages\microsoft.dotnet.build.tasks.sharedframework.sdk\5.0.0-beta.20280.1\targets\framework.dependency.targets(201,5): Missing FileVersion in 1 shared framework files:
F:\workspace\_work\1\s\artifacts\bin\mono\Windows_NT.x64.Release\coreclr.dll [F:\workspace\_work\1\s\src\installer\pkg\projects\netcoreapp\src\netcoreapp.depproj]

As a workaround I will be setting PermitDllAndExeFilesLackingFileVersion=true for mono on windows in installer/netcoreapp.depproj to start producing the runtime pack for Windows. However, we should fix this.

cc: @steveisok @akoeplinger @marek-safar

@Dotnet-GitSync-Bot
Copy link
Collaborator

I couldn't figure out the best area label to add to this issue. Please help me learn by adding exactly one area label.

@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Jun 5, 2020
@ghost
Copy link

ghost commented Jun 5, 2020

Tagging subscribers to this area: @directhex
Notify danmosemsft if you want to be subscribed.

@safern
Copy link
Member Author

safern commented Jun 5, 2020

@akoeplinger as discussed offline, assigning to you.

@safern
Copy link
Member Author

safern commented Jun 5, 2020

When fixing this we should remove the temporary workaround in: https://github.com/dotnet/runtime/pull/37511/files#diff-9fac0b3c275ca346bd7e392f9ae3807cR7

@hoyosjs
Copy link
Member

hoyosjs commented Jun 9, 2020

Another issue here that might not be obvious is that the symbol indexer will see CoreCLR and try to index the special modules with it: the DAC (mscordaccore/libmscordaccore) and the DBI (mscordbi/libmscordbi). I don't expect this to be an issue because it indexes modules with a index composed of the version + an identifier composed of timestamp and size on windows and the build ID on linux, but I don't know if the same indexing logic applies to Mono. See other impact in #34202. @mikem8361, what happens if the indexer doesn't find the dac and dbi in the same package as coreclr.

@mikem8361
Copy link
Member

mikem8361 commented Jun 9, 2020 via email

@marek-safar marek-safar removed the untriaged New issue has not been triaged by the area owner label Jun 30, 2020
@marek-safar marek-safar added this to the 6.0.0 milestone Jun 30, 2020
akoeplinger added a commit to akoeplinger/runtime that referenced this issue Nov 30, 2020
The binary now includes the proper version header.

Fixes dotnet#37503
akoeplinger added a commit that referenced this issue Dec 1, 2020
The binary now includes the proper version header.

Fixes #37503
@ghost ghost locked as resolved and limited conversation to collaborators Dec 31, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants