-
Notifications
You must be signed in to change notification settings - Fork 132
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
dll files contain original/invalid path to pdb matching build directory #4011
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
Perhaps we can use |
I think we're using deterministic, that's why PE timestamps are in the future. I took a look in the SDK and there is something called |
|
Moved out of @tmat do you know who can help us understand the content of RSDS metadata and the expectation for PDB path - should it be a filename only? I believe the path does not matter and is only something that reflects the PDB location at build time. |
@ViktorHofer do you know who could help with information about PDB metadata in .NET binaries? |
It looks like in some places the pdb paths are updated, but not in all.
|
I took a closer look. To enable a deterministic build, an end-user needs to set The vmr For some repos, like runtime, we set Where we still see the original paths, |
Re-testing things with .NET 9 RC 1:
It looks like dlls in the SDK still embed the build directory. The paths embedded in some of the .so files are also surprising. |
Describe the Bug
.dll files in .NET SDK/Runtime contain a full path to pdb associated with it, except path corresponds to the original build location, and doesn't match the pdb location when end users install the .NET SDK.
If the path actually matters, shouldn't there be a way to set it to the actual pdb location/path on the end-user systems?
If the path doesn't matter, should it exist at all? Maybe it could just be a file name without the full path?
This also affects reproducibility, because building .NET in a different location changes the built SDK.
Steps to Reproduce
Note the path starting with
/builddir/build/BUILD/
. That's the location the build server used to build NET SDK. That location doesn't exist on my machine.The text was updated successfully, but these errors were encountered: