创建共享库时,不能使用针对.rodata.str1.1的重定位R_X86_64_32;用-fPIC

时间:2019-07-31 23:05:28

标签: linux go linker shared-libraries cgo

转到install -ldflags -w -buildmode = pie

/root/.gvm/gos/go1.9/pkg/tool/linux_amd64/link:运行gcc失败:退出状态1

/ usr / bin / ld:/usr/lib/x86_64-linux-gnu//libpcap.a(pcap.o):在进行共享时无法使用针对'.rodata.str1.1'的R_X86_64_32重定位宾语;用-fPIC重新编译

/usr/lib/x86_64-linux-gnu//libpcap.a:添加符号时出错:值错误 collect2:错误:ld返回1退出状态

有什么想法要解决吗?

我的Makefile:

内部版本:无

    cd abc; go clean -i

    cd abc; go install -ldflags -w -buildmode=pie

我的#cgo LDFLAGS:-lpcap

这样的声音指向libpcap.a 它是否需要做一些指向libpcap.so而不是libpcap.a的事情?

编辑: 听起来这是关于/usr/lib/x86_64-linux-gnu/libpcap.a未使用-fPIC编译的。 为了解决这个问题,我先在环境中设置CFLAGS = -fPIC sudo apt安装libpcap0.8-dev软件包。但是它仍然遇到相同的错误。

有人可以告诉我如何在Ubuntu 14.04上使用apt install安装使用-fPIC编译的libpcap.a吗?

0 个答案:

没有答案