【问题标题】:gcc49 on Fedora 27: /usr/bin/ld: cannot find -lgcc_sFedora 27 上的 gcc49:/usr/bin/ld: 找不到 -lgcc_s
【发布时间】:2018-02-02 12:10:46
【问题描述】:

我在 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 目录中?

【问题讨论】:

    标签: gcc4.9 fedora-27


    【解决方案1】:

    问题是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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-07
      • 2011-07-16
      • 2012-05-17
      • 2020-04-14
      • 2012-03-26
      • 2018-12-13
      • 2015-09-22
      • 2020-01-19
      相关资源
      最近更新 更多