Seeing "Missing build-id" errors when building for CentOS
pprindeville opened this issue · comments
Philip Prindeville commented
If I try to build for CentOS 8 (8.5 on x86_64 in my case), I get the following spew:
make REF=v1.6.8 CONTAINERD_DIR=../containerd docker.io/library/centos:8
...
#26 125.8 error: Missing build-id in /root/rpmbuild/BUILDROOT/containerd.io-1.6.8-3.1.el8.x86_64/usr/bin/containerd-shim
#26 125.8 error: Missing build-id in /root/rpmbuild/BUILDROOT/containerd.io-1.6.8-3.1.el8.x86_64/usr/bin/containerd-shim-runc-v1
#26 125.8 error: Missing build-id in /root/rpmbuild/BUILDROOT/containerd.io-1.6.8-3.1.el8.x86_64/usr/bin/containerd-shim-runc-v2
#26 125.8 error: Generating build-id links failed
#26 125.8 Missing build-id in /root/rpmbuild/BUILDROOT/containerd.io-1.6.8-3.1.el8.x86_64/usr/bin/containerd-shim
#26 125.8 Missing build-id in /root/rpmbuild/BUILDROOT/containerd.io-1.6.8-3.1.el8.x86_64/usr/bin/containerd-shim-runc-v1
#26 125.8 Missing build-id in /root/rpmbuild/BUILDROOT/containerd.io-1.6.8-3.1.el8.x86_64/usr/bin/containerd-shim-runc-v2
#26 125.8 Generating build-id links failed
#26 125.8
#26 125.8
#26 125.8 RPM build errors:
------
executor failed running [/bin/sh -c /root/build-rpm]: exit code: 1
make[1]: *** [Makefile:94: build] Error 1
make[1]: Leaving directory '/home/pprindeville/containerd-packaging'
make: *** [Makefile:72: docker.io/library/centos:8] Error 2
Philip Prindeville commented
If I follow the advice in RPM issue #367 then and add EXTRA_LDFAGS="-linkmode=external"
then I get different (but equally unsuccessful) spew:
#26 50.10 + make -C /go/src/github.com/containerd/containerd VERSION=1.6.8 REVISION=9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6 PACKAGE=containerd.io 'BUILDTAGS= no_btrfs' EXTRA_LDFLAGS=-linkmode=external
#26 50.11 make: Entering directory '/go/src/github.com/containerd/containerd'
#26 50.24 + bin/ctr
#26 72.69 + bin/containerd
#26 94.46 + bin/containerd-stress
#26 96.83 + bin/containerd-shim
#26 102.6 # github.com/containerd/containerd/cmd/containerd-shim
#26 102.6 loadinternal: cannot find runtime/cgo
#26 102.6 /usr/local/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
#26 102.6 /usr/bin/ld: cannot find -lc
#26 102.6 collect2: error: ld returned 1 exit status
#26 102.6
#26 102.6 make: *** [Makefile:243: bin/containerd-shim] Error 2
#26 102.6 make: Leaving directory '/go/src/github.com/containerd/containerd'
#26 102.6 error: Bad exit status from /var/tmp/rpm-tmp.szCUDQ (%build)
#26 102.6 Bad exit status from /var/tmp/rpm-tmp.szCUDQ (%build)
#26 102.6
#26 102.6
#26 102.6 RPM build errors:
------
executor failed running [/bin/sh -c /root/build-rpm]: exit code: 1
make[1]: *** [Makefile:94: build] Error 1
make[1]: Leaving directory '/home/pprindeville/containerd-packaging'
make: *** [Makefile:72: docker.io/library/centos:8] Error 2
@kolyshkin What am I missing?
Philip Prindeville commented