无法在 Ubuntu 18.04 上使用 Swift

问题描述 投票:0回答:4

认真遵循 swift.org 在 Linux 上的安装说明后,我遇到了无法在 Ubuntu 18.04 机器上编译任何内容的问题。 REPL 似乎可以工作,但在编译期间(调用

swift build
时)出现以下错误:

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

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

我该怎么办?

swift linux ubuntu ubuntu-18.04
4个回答
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

2
投票

安装libstdc++

sudo apt install libstdc++6


0
投票

似乎可能 apt install 没有运行

ldconfig
程序,应该运行该程序以将库添加到
ld.so
知道的列表中。

看起来你可以手动完成:


sudo ldconfig

重要 警告:我没有 Ubuntu,无法对此进行测试。这是一个

sudo
命令。运行风险自负,YMMV 等

如果这不起作用,可能是未设置名为

/etc/ld.so.conf
的文件来搜索 libstdc++ 所在的目录。我不敢尝试描述如何解决这个问题。


-2
投票

sudo apt install -f

上面的命令应该安装任何缺少的依赖项。

© www.soinside.com 2019 - 2024. All rights reserved.