go/pkg/tool/linux_amd64/link:运行 gcc 失败:退出状态 1 /usr/bin/ld:找不



我正在尝试在我的源代码上运行go build

go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/bin/ld: cannot find -lgdal
collect2: error: ld returned 1 exit status

我的LD_LIBRARY_PATH变量包含 /home/fzd/project/lib64 ,即libgdal.so文件的目录路径。我的PKG_CONFIG_PATH包含.pc文件的目录路径,其中包含以下内容:

prefix=/home/fzd/project
exec_prefix=${prefix}
libdir=${prefix}/lib64
deplibdir=${prefix}/lib64
includedir=${prefix}/include
Name: myLibs
Description: Libs
Requires:
Version: v1.0
Libs: -L${deplibdir} -lgdal
Cflags: -I${includedir}

我不知道要检查哪个变量。一切似乎都很好,有趣的是,当我在其他地方克隆我的存储库时,我没有问题(相同的LD_LIBRARY_PATH等(

有没有人知道我可以检查什么?

我在 CentOS7.6 上使用 go1.11.1。

以下是我为解决此问题所做的一些事情:

  • rm -rf ~/.cache/go-build:这包含一些构建工件
  • rm -rf ${MyProject}/{bin,pkg} : 出于同样的原因

尝试yum install glibc-static.x86_64 -y

我遇到了这样的错误

/usr/local/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/bin/ld: cannot find -ldl
/usr/bin/ld: cannot find -lpthread

和 glibc-static lib 修复它。

以下步骤对我有用:

yum install glibc-static.x86_64 libstdc++-static -y

然后删除上次构建缓存

rm -rf ~/.cache/go-build

然后导出 CXX 标志

export CXXFLAGS="-stdlib=libstdc++" CC=/usr/bin/gcc CXX=/usr/bin/g++
<</div> div class="one_answers">

试试这个:

yum install binutils

最新更新