[meta-virtualization] [PATCH 1/2] cni: fix problem about cross compilation
Chen Qi
Qi.Chen at windriver.com
Fri Aug 9 02:36:14 PDT 2019
When setting up k8s, the following error appeared, failing
to setup coredns pod.
NetworkPlugin cni failed to set up pod "coredns-5f7fc64c95-4nnfq_kube-system" network: fork/exec /opt/cni/bin/loopback: no such file or directory
This is because the binary, /opt/cni/bin/loopback, has wrong interpreter.
So fix do_compile to use ${GO} instead of go to fix this problem.
Also clean up all unnecessary settings which have already been in go.bbclass.
Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
---
recipes-networking/cni/cni_git.bb | 25 +++----------------------
1 file changed, 3 insertions(+), 22 deletions(-)
diff --git a/recipes-networking/cni/cni_git.bb b/recipes-networking/cni/cni_git.bb
index d07154b..f392ea6 100644
--- a/recipes-networking/cni/cni_git.bb
+++ b/recipes-networking/cni/cni_git.bb
@@ -29,18 +29,6 @@ inherit go
inherit goarch
do_compile() {
- export GOARCH="${TARGET_GOARCH}"
- export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
- export GOPATH="${S}/src/import:${S}/src/import/vendor"
-
- # Pass the needed cflags/ldflags so that cgo
- # can find the needed headers files and libraries
- export CGO_ENABLED="1"
- export CFLAGS=""
- export LDFLAGS=""
- export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
- export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
# link fixups for compilation
rm -f ${S}/src/import/vendor/src
mkdir -p ${S}/src/import/vendor/
@@ -56,19 +44,12 @@ do_compile() {
ln -sf ${WORKDIR}/plugins ${S}/src/import/vendor/github.com/containernetworking/plugins
export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go"
- export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go"
-
- # Pass the needed cflags/ldflags so that cgo
- # can find the needed headers files and libraries
- export CGO_ENABLED="1"
- export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
- export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
cd ${S}/src/import/vendor/github.com/containernetworking/cni/libcni
- go build
+ ${GO} build
cd ${S}/src/import/vendor/github.com/containernetworking/cni/cnitool
- go build
+ ${GO} build
cd ${S}/src/import/vendor/github.com/containernetworking/plugins/
PLUGINS="$(ls -d plugins/meta/*; ls -d plugins/main/* | grep -v windows)"
@@ -76,7 +57,7 @@ do_compile() {
for p in $PLUGINS; do
plugin="$(basename "$p")"
echo "building: $p"
- go build -o ${WORKDIR}/plugins/bin/$plugin github.com/containernetworking/plugins/$p
+ ${GO} build -o ${WORKDIR}/plugins/bin/$plugin github.com/containernetworking/plugins/$p
done
}
--
2.17.1
More information about the meta-virtualization
mailing list