diff options
author | Bruce Ashfield <bruce.ashfield@gmail.com> | 2020-07-09 14:37:27 +0000 |
---|---|---|
committer | Bruce Ashfield <bruce.ashfield@gmail.com> | 2020-07-10 14:52:05 +0000 |
commit | 55b15a06e5e3b7ab30b31f815f9753d059299b8c (patch) | |
tree | ef54d4ca7067aa2ae1f83a9b3c4a84cd77a935e4 | |
parent | 16ec6ab62c5f41541092318170e0221e7ce0da89 (diff) | |
download | meta-virtualization-55b15a06e5e3b7ab30b31f815f9753d059299b8c.tar.gz |
kubernetes: fix ARM64 build
The first part of the kubernetes build generates some host/build files.
These use the build/host compiler and not the cross infrastructure.
It was working by luck on x86 build / target matches, but blows up on
an ARM64 build.
We fix the CC/CFLAGS settings for the host part of the build to use
the host/build flags and then restore the cross settings for the
rest of the build.
Tested on arm64 and x86-64.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
-rw-r--r-- | recipes-containers/kubernetes/kubernetes_git.bb | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/recipes-containers/kubernetes/kubernetes_git.bb b/recipes-containers/kubernetes/kubernetes_git.bb index 6292b36c..d28e6a25 100644 --- a/recipes-containers/kubernetes/kubernetes_git.bb +++ b/recipes-containers/kubernetes/kubernetes_git.bb | |||
@@ -42,10 +42,13 @@ do_compile() { | |||
42 | export GOARCH="${BUILD_GOARCH}" | 42 | export GOARCH="${BUILD_GOARCH}" |
43 | # Pass the needed cflags/ldflags so that cgo can find the needed headers files and libraries | 43 | # Pass the needed cflags/ldflags so that cgo can find the needed headers files and libraries |
44 | export CGO_ENABLED="1" | 44 | export CGO_ENABLED="1" |
45 | export CFLAGS="" | 45 | export CFLAGS="${BUILD_CFLAGS}" |
46 | export LDFLAGS="" | 46 | export LDFLAGS="${BUILD_LDFLAGS}" |
47 | export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}" | 47 | export CGO_CFLAGS="${BUILD_CFLAGS}" |
48 | export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" | 48 | export CGO_LDFLAGS="${BUILD_LDFLAGS}" |
49 | export CC="${BUILD_CC}" | ||
50 | export LD="${BUILD_LD}" | ||
51 | |||
49 | make generated_files KUBE_BUILD_PLATFORMS="${HOST_GOOS}/${BUILD_GOARCH}" | 52 | make generated_files KUBE_BUILD_PLATFORMS="${HOST_GOOS}/${BUILD_GOARCH}" |
50 | 53 | ||
51 | # Build the target binaries | 54 | # Build the target binaries |
@@ -54,6 +57,11 @@ do_compile() { | |||
54 | export CGO_ENABLED="1" | 57 | export CGO_ENABLED="1" |
55 | export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}" | 58 | export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}" |
56 | export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" | 59 | export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" |
60 | export CFLAGS="" | ||
61 | export LDFLAGS="" | ||
62 | export CC="${CC}" | ||
63 | export LD="${LD}" | ||
64 | |||
57 | # to limit what is built, use 'WHAT', i.e. make WHAT=cmd/kubelet | 65 | # to limit what is built, use 'WHAT', i.e. make WHAT=cmd/kubelet |
58 | make cross KUBE_BUILD_PLATFORMS=${GOOS}/${GOARCH} GOLDFLAGS="" | 66 | make cross KUBE_BUILD_PLATFORMS=${GOOS}/${GOARCH} GOLDFLAGS="" |
59 | } | 67 | } |