[Buildroot] [PATCH RFC] package/go: disable cgo support with static libs
Anisse Astier
anisse at astier.eu
Sun Nov 20 18:19:55 UTC 2022
The go stdlib "plugin" package relies on dlfcn.h which isn't available
when we have BR2_STATIC_LIBS=y.
This should fix this build error from autobuilders:
/buildroot/i686-hostgo-fail/build/host-go-1.19.3/src/plugin/plugin_dlopen.go:11:10: fatal error: dlfcn.h: No such file or directory
11 | #include <dlfcn.h>
The more longterm approach would be to ask upstream for a build tag to
disable the plugin package, akin to the osusergo or netgo tags:
https://github.com/golang/go/issues/23265
While it would be quite simple, I don't think a buildroot patch for this
without upstream support would be ideal.
---
package/go/go.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/go/go.mk b/package/go/go.mk
index fd4caa2e5a..1c3cfa94d4 100644
--- a/package/go/go.mk
+++ b/package/go/go.mk
@@ -87,7 +87,7 @@ HOST_GO_TARGET_ENV = \
# set, build in cgo support for any go programs that may need it. Note that
# any target package needing cgo support must include
# 'depends on BR2_TOOLCHAIN_HAS_THREADS' in its config file.
-ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
+ifeq ($(BR2_TOOLCHAIN_HAS_THREADS)$(BR2_STATIC_LIBS),yn)
HOST_GO_CGO_ENABLED = 1
else
HOST_GO_CGO_ENABLED = 0
--
2.38.1
More information about the buildroot
mailing list