origin: make build-cross fails with "undefined: gssapi" for linux/arm64

Running make build-cross fails with:

hack/build-cross.sh
++ Building go targets for linux/amd64: images/pod examples/hello-openshift
++ Building go targets for linux/amd64: pkg/network/sdn-cni-plugin vendor/github.com/containernetworking/plugins/plugins/ipam/host-local vendor/github.com/containernetworking/plugins/plugins/main/loopback
++ Building go targets for linux/arm64: cmd/hypershift cmd/openshift cmd/oc cmd/oadm cmd/template-service-broker vendor/k8s.io/kubernetes/cmd/hyperkube
# github.com/openshift/origin/pkg/oc/util/tokencmd
pkg/oc/util/tokencmd/negotiator_gssapi.go:25:7: undefined: gssapi.Lib
pkg/oc/util/tokencmd/negotiator_gssapi.go:32:8: undefined: gssapi.Name
pkg/oc/util/tokencmd/negotiator_gssapi.go:34:7: undefined: gssapi.CtxId
pkg/oc/util/tokencmd/negotiator_gssapi.go:43:8: undefined: gssapi.CredId
[ERROR] [21:00:44+0200] PID 31432: hack/lib/build/binaries.sh:236: `GOOS=${platform%/*} GOARCH=${platform##*/} go install -pkgdir "${pkgdir}/${platform}" -tags "${OS_GOFLAGS_TAGS-} ${!platform_gotags_envvar:-}" -ldflags="${local_ldflags}" "${goflags[@]:+${goflags[@]}}" -gcflags "${gogcflags}" "${nonstatics[@]}"` exited with status 2.
[INFO] [21:00:44+0200] 		Stack Trace: 
[INFO] [21:00:44+0200] 		  1: hack/lib/build/binaries.sh:236: `GOOS=${platform%/*} GOARCH=${platform##*/} go install -pkgdir "${pkgdir}/${platform}" -tags "${OS_GOFLAGS_TAGS-} ${!platform_gotags_envvar:-}" -ldflags="${local_ldflags}" "${goflags[@]:+${goflags[@]}}" -gcflags "${gogcflags}" "${nonstatics[@]}"`
[INFO] [21:00:44+0200] 		  2: hack/lib/build/binaries.sh:156: os::build::internal::build_binaries
[INFO] [21:00:44+0200] 		  3: hack/build-cross.sh:74: os::build::build_binaries
[INFO] [21:00:44+0200]   Exiting with code 2.
[ERROR] [21:00:44+0200] PID 30540: hack/lib/build/binaries.sh:150: `( os::build::internal::build_binaries "${binaries[@]+"${binaries[@]}"}" )` exited with status 2.
[INFO] [21:00:44+0200] 		Stack Trace: 
[INFO] [21:00:44+0200] 		  1: hack/lib/build/binaries.sh:150: `( os::build::internal::build_binaries "${binaries[@]+"${binaries[@]}"}" )`
[INFO] [21:00:44+0200] 		  2: hack/build-cross.sh:74: os::build::build_binaries
[INFO] [21:00:44+0200]   Exiting with code 2.
make: *** [Makefile:278: build-cross] Error 2

Changes made to hack/build-cross.sh:

diff --git a/hack/build-cross.sh b/hack/build-cross.sh
index 5694dee946..cee6f525e4 100755
--- a/hack/build-cross.sh
+++ b/hack/build-cross.sh
@@ -8,9 +8,7 @@ host_platform="$(os::build::host_platform)"
 
 # by default, build for these platforms
 platforms=(
-  linux/amd64
-  darwin/amd64
-  windows/amd64
+  linux/arm64
 )
 image_platforms=( )
 test_platforms=( "${host_platform}" )
Version

commit 64dae5b262a842b253f94d1a27a74c5b41f96ba8

Steps To Reproduce
  1. make described changes to hack/build-cross.sh
  2. run make build-cross
Current Result

See output above

Expected Result

binaries build for linux/arm64

Additional Information

building with CGO_ENABLED=0 GOOS=linux GOARCH=arm64 GOARM=7 go build -v -tags 'include_gcs include_oss containers_image_openpgp' github.com/openshift/origin/cmd/oc works

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 17 (11 by maintainers)

Most upvoted comments

So gssapi seems to be the showstopper here for a proper cross-build.

Right… CGO isn’t supported for non-native cross-build.

See https://github.com/openshift/origin/issues/9782 filed for supporting gssapi in darwin builds compiled on linux/amd64.