【问题标题】:Cannot use Swift on Ubuntu 18.04无法在 Ubuntu 18.04 上使用 Swift
【发布时间】:2018-11-07 04:27:21
【问题描述】:

认真按照 swift.org 在 Linux 上的安装说明进行操作后,我遇到了无法在 Ubuntu 18.04 机器上编译任何内容的问题。 REPL 似乎可以工作,但在编译期间(调用swift build 时)出现以下错误:

/usr/bin/ld: cannot find -lstdc++

完整的错误报告[SR-9093] 中有更多详细信息。我完全不知道如何解决这个问题,在其他错误报告中已经提到了类似的问题,例如在这个非常老的 [SR-35] 上。

我该怎么办?

谢谢

【问题讨论】:

  • 请注意,您的错误报告中有来自 Apple 工程师的未答复的 cmets。
  • 问题还没有解决吗?
  • @DinkoPehar 是的! :)

标签: swift linux ubuntu ubuntu-18.04


【解决方案1】:

我假设您已经成功安装了 libstdc++ 并且您已经正确设置了权限。但我真的怀疑它是否安装正确,但安装时存在某种损坏。发生损坏是因为您没有通过包管理器安装 libstdc++。结果是包管理器数据库中出现了某种形式的怪异,影响了整个功能系统。究竟为什么在文件夹中添加一些东西会改变任何东西。我不知道为什么会发生这种情况,除非文件夹很热,即符号链接到一个对黑客没有任何容忍度的程序,比如简单地将文件复制到文件夹中。所以现在尝试再次安装 libstdc++。下面是文件的链接,用于再次下载正确的程序,它与 amd64 兼容。

http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb

以下是一些帮助链接

  1. https://ubuntuforums.org/showthread.php?t=1425470
  2. https://ubuntuforums.org/showthread.php?t=808045
  3. https://ubuntuforums.org/showthread.php?t=808045
  4. https://packages.ubuntu.com/search?keywords=libstdc%2B%2B
  5. https://packages.ubuntu.com/xenial/amd64/libstdc++6

【讨论】:

  • 不幸的是,这显然也不起作用。赏金结束了,我想感谢你,因为你给出了最完整的答案。我希望它能帮助其他偶然发现这个问题的人。
【解决方案2】:

安装 libstdc++

sudo apt install libstdc++6

【讨论】:

  • 谢谢,很遗憾这已经完成了,但没有成功。
【解决方案3】:

似乎可能apt安装没有运行ldconfig程序,应该运行该程序以将库添加到ld.so知道的列表中。

看起来您可以手动执行此操作: sudo ldconfig

重要提示 CAVEAT:我没有 Ubuntu,也无法对此进行测试。这是一个sudo 命令。运行风险自负,YMMV 等。

如果这不起作用,则可能没有设置名为 /etc/ld.so.conf 的文件来搜索 libstdc++ 结束的目录。我不敢尝试描述如何解决这个问题。

【讨论】:

    【解决方案4】:

    sudo apt install -f

    上面的命令应该安装所有缺少的依赖项。

    【讨论】:

    • 你好,我也试过了,没有任何改变
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 2020-06-07
    相关资源
    最近更新 更多