我在執(zhí)行二進(jìn)制文件時(shí)隨機(jī)收到以下錯(cuò)誤(有時(shí)它可以工作):fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x47 pc=0x7f07a019b448]這是整個(gè)堆棧跟蹤。我運(yùn)行二進(jìn)制文件的操作系統(tǒng)版本:我運(yùn)行二進(jìn)制文件的操作系統(tǒng)版本:NAME="Ubuntu"VERSION="18.04.3 LTS (Bionic Beaver)"ID=ubuntuID_LIKE=debianPRETTY_NAME="Ubuntu 18.04.3 LTS"VERSION_ID="18.04"HOME_URL="https://www.ubuntu.com/"SUPPORT_URL="https://help.ubuntu.com/"BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"VERSION_CODENAME=bionicUBUNTU_CODENAME=bionic去版本:go versiongo version go1.16.9 linux/amd64巴澤爾選項(xiàng):go_binary( name = "app-operator", embed = [":app-operator_lib"], gc_linkopts = [ "-linkmode", "external", "-extldflags", "-static", ], static = "on", visibility = ["//visibility:public"],)
1 回答
達(dá)令說
TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
您應(yīng)該能夠gc_linkopts從構(gòu)建中刪除選項(xiàng)。靜態(tài)鏈接glibc并不真正受支持,并且可能會(huì)導(dǎo)致問題。
如果您有其他需要靜態(tài)鏈接的 cgo 庫(kù),則需要專門為這些庫(kù)提供鏈接器標(biāo)志。
如果 cgo 的唯一用途是在 linux 上進(jìn)行名稱解析,那么您幾乎總是可以在沒有 cgo 的情況下進(jìn)行構(gòu)建,并在需要靜態(tài)二進(jìn)制文件而不需要可移植的 C 實(shí)現(xiàn)時(shí)依賴本機(jī) Go 實(shí)現(xiàn)。
- 1 回答
- 0 關(guān)注
- 661 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
