Skip to content

Fix make build-binaries#62626

Merged
zmb3 merged 2 commits intomasterfrom
zmb3/build-binaries
Jan 7, 2026
Merged

Fix make build-binaries#62626
zmb3 merged 2 commits intomasterfrom
zmb3/build-binaries

Conversation

@zmb3
Copy link
Copy Markdown
Collaborator

@zmb3 zmb3 commented Jan 5, 2026

The dockerized build (make -C build.assets build-binaries) fails with GLIBC errors because it is a multi-stage build that runs across several different containers.

First, we build the webassets in buildbox-node. Then we build the Teleport binaries in buildbox-centos7, reusing the webassets built previously.

The issue arises because buildbox-node runs a newer version of GLIBC than buildbox-centos7, and we weren't properly cleaning some build artifacts when switching from one builder to another. As a result, the centos7 builder would see intermediate artifacts with a dependency on a GLIBC version that is too new.

Fix the issue by ensuring we run a clean-build after hopping into the centos7 container.

Closes #62594

@zmb3 zmb3 requested a review from klizhentas January 5, 2026 22:39
The dockerized build (make -C build.assets build-binaries) fails
with GLIBC errors because it is a multi-stage build that runs
across several different containers.

First, we build the webassets in buildbox-node. Then we build the
Teleport binaries in buildbox-centos7, reusing the webassets built
previously.

The issue arises because buildbox-node runs a newer version of GLIBC
than buildbox-centos7, and we weren't properly cleaning some build
artifacts when switching from one builder to another. As a result,
the centos7 builder would see intermediate artifacts with a dependency
on a GLIBC version that is too new.

Fix the issue by ensuring we run a clean-build after hopping into
the centos7 container.

Closes #62594
@zmb3 zmb3 force-pushed the zmb3/build-binaries branch from 7566601 to ac6e12a Compare January 5, 2026 22:41
@zmb3 zmb3 added no-changelog Indicates that a PR does not require a changelog entry backport/branch/v18 labels Jan 5, 2026
@zmb3 zmb3 requested a review from camscale January 5, 2026 22:48
Copy link
Copy Markdown
Contributor

@hugoShaka hugoShaka left a comment

Choose a reason for hiding this comment

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

I ran it from my macbook and it worked. I don't have an amd laptop to test this on today. I can spin up a new VM and do the test if needed.

The logs are full of scary things, I don't know if we want to fix those:

make[2]: Entering directory '/go/src/github.com/gravitational/teleport'
go: errors parsing go.mod:
/go/src/github.com/gravitational/teleport/go.mod:3: invalid go version '1.25.5': must match format 1.23
/go/src/github.com/gravitational/teleport/go.mod:5: unknown block type: ignore
/go/src/github.com/gravitational/teleport/go.mod:663: unknown block type: tool
go: errors parsing go.mod:
/go/src/github.com/gravitational/teleport/go.mod:3: invalid go version '1.25.5': must match format 1.23
/go/src/github.com/gravitational/teleport/go.mod:5: unknown block type: ignore
/go/src/github.com/gravitational/teleport/go.mod:663: unknown block type: tool
go: errors parsing go.mod:
/go/src/github.com/gravitational/teleport/go.mod:3: invalid go version '1.25.5': must match format 1.23
/go/src/github.com/gravitational/teleport/go.mod:5: unknown block type: ignore
/go/src/github.com/gravitational/teleport/go.mod:663: unknown block type: tool

@zmb3
Copy link
Copy Markdown
Collaborator Author

zmb3 commented Jan 6, 2026

The logs are full of scary things, I don't know if we want to fix those

Not right now, but I can explain why you see those.

The makefile invokes go a bunch of times when evaluating variables, even if the target we call doesn't end up needing go.

(We've made some improvements here in the past - see #9776 and #25870, but the behavior persists).

The buildbox-node is based on Debian Buster, and we don't explicitly install Go there because we don't actually need it - we only use that container to build the web assets. As a result, the makefile ends up invoking the system Go, and Buster still ships with a very old version (something like 1.13) in its packages. This old version of Go chokes on some of the newer directives in our go.mod.

Comment thread build.assets/Makefile
@zmb3 zmb3 force-pushed the zmb3/build-binaries branch from f2dde00 to b12c716 Compare January 7, 2026 02:18
@zmb3 zmb3 enabled auto-merge January 7, 2026 02:22
@zmb3 zmb3 added this pull request to the merge queue Jan 7, 2026
Merged via the queue into master with commit 57ea14b Jan 7, 2026
43 checks passed
@zmb3 zmb3 deleted the zmb3/build-binaries branch January 7, 2026 02:58
@backport-bot-workflows
Copy link
Copy Markdown
Contributor

@zmb3 See the table below for backport results.

Branch Result
branch/v18 Failed

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

Labels

backport/branch/v18 no-changelog Indicates that a PR does not require a changelog entry size/sm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Teleport does not build following instructions

3 participants