diff options
Diffstat (limited to 'recipes-networking/netns')
-rw-r--r-- | recipes-networking/netns/files/Makefile-force-rebuilding-all-packages-to-avoid-cgo.patch | 54 | ||||
-rw-r--r-- | recipes-networking/netns/netns_git.bb | 5 |
2 files changed, 58 insertions, 1 deletions
diff --git a/recipes-networking/netns/files/Makefile-force-rebuilding-all-packages-to-avoid-cgo.patch b/recipes-networking/netns/files/Makefile-force-rebuilding-all-packages-to-avoid-cgo.patch new file mode 100644 index 00000000..3b0c0a46 --- /dev/null +++ b/recipes-networking/netns/files/Makefile-force-rebuilding-all-packages-to-avoid-cgo.patch | |||
@@ -0,0 +1,54 @@ | |||
1 | From 09524d187ef108784c854a0c247ac6476a10bb67 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mark Asselstine <mark.asselstine@windriver.com> | ||
3 | Date: Mon, 18 Mar 2019 14:04:16 -0400 | ||
4 | Subject: [PATCH] Makefile: force rebuilding all packages to avoid cgo | ||
5 | |||
6 | We are running into an issue when attempting to build 'static', | ||
7 | similar to what is described by | ||
8 | |||
9 | https://plus.google.com/117192131596509381660/posts/eNnNePihYnK | ||
10 | and | ||
11 | https://github.com/golang/go/issues/9369 | ||
12 | |||
13 | In our case we can see that it manifests as a build error | ||
14 | |||
15 | cannot find package runtime/cgo (using -importcfg) | ||
16 | ...go/pkg/tool/linux_amd64/link: cannot open file : open : no such file or directory | ||
17 | |||
18 | Although the descriptions of issue indicate that newer versions of GO, | ||
19 | such as the version we are using, should not have this issue it is | ||
20 | clear from the error that cgo is being referenced when it should be | ||
21 | out of the picture. | ||
22 | |||
23 | Interesting enough this issue only manifests when we are building on | ||
24 | x86-64 and building for x86-64 which might indicate that GO might be | ||
25 | finding -native packages and not -cross packages. | ||
26 | |||
27 | This change works around the issue and will allow for the building of | ||
28 | the 'static' make target, but at this time and until the issue is | ||
29 | completely understood, it is recommended that the 'build' target is | ||
30 | used. | ||
31 | |||
32 | Upstream-Status: Inappropriate [only an issue with our builds] | ||
33 | |||
34 | Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> | ||
35 | --- | ||
36 | Makefile | 2 +- | ||
37 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
38 | |||
39 | diff --git a/Makefile b/Makefile | ||
40 | index 476cb9b..ecd0df4 100644 | ||
41 | --- a/src/import/Makefile | ||
42 | +++ b/src/import/Makefile | ||
43 | @@ -41,7 +41,7 @@ $(NAME): *.go VERSION.txt | ||
44 | .PHONY: static | ||
45 | static: ## Builds a static executable | ||
46 | @echo "+ $@" | ||
47 | - CGO_ENABLED=0 $(GO) build \ | ||
48 | + CGO_ENABLED=0 $(GO) build -a -pkgdir dontusecurrentpkgs \ | ||
49 | -tags "$(BUILDTAGS) static_build" \ | ||
50 | ${GO_LDFLAGS_STATIC} -o $(NAME) . | ||
51 | |||
52 | -- | ||
53 | 2.7.4 | ||
54 | |||
diff --git a/recipes-networking/netns/netns_git.bb b/recipes-networking/netns/netns_git.bb index b6d35948..f5cdace0 100644 --- a/recipes-networking/netns/netns_git.bb +++ b/recipes-networking/netns/netns_git.bb | |||
@@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=48ef0979a2bcc3fae14ff30b8a7f5d | |||
5 | 5 | ||
6 | SRC_URI = "git://github.com/genuinetools/netns;branch=master \ | 6 | SRC_URI = "git://github.com/genuinetools/netns;branch=master \ |
7 | file://0001-Allow-selection-of-go-compiler.patch \ | 7 | file://0001-Allow-selection-of-go-compiler.patch \ |
8 | file://Makefile-force-rebuilding-all-packages-to-avoid-cgo.patch \ | ||
8 | " | 9 | " |
9 | SRCREV = "0da6ab0997707024debe68c91e940c9168041bf8" | 10 | SRCREV = "0da6ab0997707024debe68c91e940c9168041bf8" |
10 | PV = "0.4.0" | 11 | PV = "0.4.0" |
@@ -42,7 +43,9 @@ do_compile() { | |||
42 | export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" | 43 | export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" |
43 | 44 | ||
44 | cd ${S}/src/import | 45 | cd ${S}/src/import |
45 | oe_runmake static | 46 | # Static builds work but are not recommended. See Makefile*cgo patch. |
47 | #oe_runmake static | ||
48 | oe_runmake build | ||
46 | } | 49 | } |
47 | 50 | ||
48 | do_install() { | 51 | do_install() { |