我在執(zhí)行二進制文件時隨機收到以下錯誤(有時它可以工作):fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x47 pc=0x7f07a019b448]這是整個堆棧跟蹤。我運行二進制文件的操作系統(tǒng)版本:我運行二進制文件的操作系統(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巴澤爾選項:go_binary( name = "app-operator", embed = [":app-operator_lib"], gc_linkopts = [ "-linkmode", "external", "-extldflags", "-static", ], static = "on", visibility = ["//visibility:public"],)
1 回答

達令說
TA貢獻1821條經(jīng)驗 獲得超6個贊
您應該能夠gc_linkopts
從構(gòu)建中刪除選項。靜態(tài)鏈接glibc
并不真正受支持,并且可能會導致問題。
如果您有其他需要靜態(tài)鏈接的 cgo 庫,則需要專門為這些庫提供鏈接器標志。
如果 cgo 的唯一用途是在 linux 上進行名稱解析,那么您幾乎總是可以在沒有 cgo 的情況下進行構(gòu)建,并在需要靜態(tài)二進制文件而不需要可移植的 C 實現(xiàn)時依賴本機 Go 實現(xiàn)。
- 1 回答
- 0 關注
- 628 瀏覽
添加回答
舉報
0/150
提交
取消