Skip to content

fix: *golang: Set GOROOT_FINAL to use libdir #6388

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
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

cpuguy83
Copy link

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

What does the PR accomplish, why was it needed?
Fix golang packages to set the compiled-in GOROOT correctly.
This is not causing problems under normal circumstances because shells are loading /etc/profile which has the correct GOROOT set.
However the go binary itself has an invalid GOROOT.

GOROOT_FINAL sets the compiled-in default GOROOT for the final go binary.
This was set to /usr/bin/go which causes the go command to error out (when /etc/profile is not loaded) because that is the binary path not the path of the final GOROOT.

Change Log
  • Update GOROOT_FINAL in golang and msft-golang to have the correct final value
Does this affect the toolchain?

NO

Associated issues
Test Methodology
  • Pipeline build id: xxxx

@cpuguy83 cpuguy83 requested a review from a team as a code owner October 10, 2023 20:04
Copy link
Member

@mfrw mfrw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we please retarget this to main instead of 2.0

@cpuguy83 cpuguy83 changed the base branch from 2.0 to main October 11, 2023 14:38
@microsoft-github-policy-service microsoft-github-policy-service bot added the main PR Destined for main label Oct 11, 2023
GOROOT_FINAL sets the compiled-in default GOROOT for the final go
binary.
This was set to /usr/bin/go which causes the `go` command to error out
(when /etc/profile is not loaded) because that is the binary path not
the path of the final GOROOT.
@cpuguy83
Copy link
Author

@mfrw done

@cpuguy83
Copy link
Author

Any updates on this one?

@mfrw
Copy link
Member

mfrw commented Feb 1, 2024

Any updates on this one?

Apologies, this got drowned in the numerous notifications from github :(

@PawelWMS PawelWMS requested a review from a team as a code owner December 12, 2024 00:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
main PR Destined for main
Projects
None yet
Development

Successfully merging this pull request may close these issues.

golang package GOROOT_FINAL seems incorrect
2 participants