bazel with go:嵌入指令SIGSEGV



我将srcs嵌入到go_library中,以增强embed.FS变量。这需要一些时间来解决(参见bazel go_embed_data"无法嵌入"(。

我遇到的新问题是,我在运行时收到SIGSEGV,我看到unexpected fault address 0x0

bazel BUILD and go代码低于

go_library(
name = "my_lib",
srcs = ["main.go"],
embedsrcs = glob(["static/**/*"]),
importpath = "github.com/myorg/myrepo",
visibility = ["//visibility:private"],
deps = ["//cmd"],
)
go_binary(
name = "my_linux_amd64",
cgo = True,
embed = [":my_lib"],
gc_goopts = [
"-dynlink",
],
goarch = "amd64",
goos = "linux",
linkmode = "pie",
visibility = ["//visibility:public"],
)
package main
import (
"embed"
)
//go:embed static/*
var staticFS embed.FS // fault address

不确定如何解决此问题。

找到这个https://github.com/golang/go/issues/5337#issuecomment-66078444

TLDR;设置pure = "off"以设置CGO_ENABLED=0解决了该问题。

最新更新