Conversation
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
7566601 to
ac6e12a
Compare
hugoShaka
left a comment
There was a problem hiding this comment.
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
Not right now, but I can explain why you see those. The makefile invokes (We've made some improvements here in the past - see #9776 and #25870, but the behavior persists). The |
f2dde00 to
b12c716
Compare
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