无法在Ubuntu 18.04上使用Swift

时间:2018-10-26 22:55:53

标签: swift linux ubuntu ubuntu-18.04

认真地遵循swift.org在Linux上的安装说明后,我遇到了一个问题,即无法在Ubuntu 18.04计算机上编译任何内容。 REPL似乎可以正常工作,但是在编译期间(调用swift build时),出现以下错误:

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

完整的错误报告[SR-9093]中有更多详细信息。我根本不知道该怎么做才能解决此问题,其他错误报告中已经提到了类似的问题,例如关于这个非常老的报告[SR-35]。

我该怎么办?

谢谢

4 个答案:

答案 0 :(得分:4)

我假设您已经成功安装了 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

答案 1 :(得分:2)

安装libstdc ++

sudo apt install libstdc++6

答案 2 :(得分:0)

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

您似乎可以手动进行操作: sudo ldconfig

  

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

如果这不起作用,则可能未设置名为/etc/ld.so.conf的文件来搜索libstdc ++最终所在的目录。我不敢描述如何解决这个问题。

答案 3 :(得分:-2)

sudo apt install -f

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