Fedora 27上的gcc49:/ usr / bin / ld:找不到-lgcc_s

时间:2018-02-02 12:10:46

标签: gcc4.9 fedora-27

我在Fedora 27上使用davidva/gcc49 copr

当我在copr网页描述的source /usr/bin/gcc49运行后尝试编译时,我收到此错误:

/usr/bin/ld: cannot find -lgcc_s

在了解了标志-l如何为gcc工作之后,我了解到它正在寻找库gcc_s。我在/opt/gcc-4.9.3/lib64/gcc/x86_64-fedoraunited-linux-gnu/lib64中找到了它,这听起来像是它的正确位置。为什么不连接?我是否需要将目录添加到库路径?如果它是LDFLAGS,它已经存在,因为我提供的文件:

export LDFLAGS="-L/opt/gcc-$gver/$lib/gcc/$gcc_target_platform/$lib/" 

在Fedora 27上获取gcc 4.9以查找显然位于LDFLAGS目录中的库文件需要做什么?

1 个答案:

答案 0 :(得分:0)

问题是libgcc_s.so文件位于错误的目录中!只需在4.9.3目录中对它进行符号链接:

pushd /opt/gcc-4.9.3/lib64/gcc/x86_64-fedoraunited-linux-gnu/4.9.3
sudo cp -p ../lib64/libgcc_s.so.1 .
sudo ln -s libgcc_s.so.1 libgcc_s.so
popd

我想/opt/gcc-4.9.3/lib64/gcc/x86_64-fedoraunited-linux-gnu/lib64目录应该包含在任何LDFLAGS参数中,这可能是构建过程中的一个弱点我使用而不是gcc 4.9包。

将此文件和适当命名的符号链接放在4.9.3目录中可以使我的构建过程成功完成。

参考:https://bgstack15.wordpress.com/2018/02/01/gcc-4-9-for-fedora-27/