在从swift.org上认真按照Linux安装说明后,我在Ubuntu 18.04机器上遇到一个问题,无法编译任何东西。REPL似乎可以工作,但在编译过程中(调用swift build
时)出现以下错误:
/usr/bin/ld: cannot find -lstdc++
完整的错误报告[SR-9093]中有更多细节。我不知道该怎么解决这个问题,其他错误报告中已经提到了类似的问题,例如这个非常古老的错误报告[SR-35]。
我应该怎么办?
谢谢
在从swift.org上认真按照Linux安装说明后,我在Ubuntu 18.04机器上遇到一个问题,无法编译任何东西。REPL似乎可以工作,但在编译过程中(调用swift build
时)出现以下错误:
/usr/bin/ld: cannot find -lstdc++
完整的错误报告[SR-9093]中有更多细节。我不知道该怎么解决这个问题,其他错误报告中已经提到了类似的问题,例如这个非常古老的错误报告[SR-35]。
我应该怎么办?
谢谢
sudo apt install libstdc++6
看起来可能是因为apt安装没有运行ldconfig
程序,应该运行该程序将库添加到ld.so
知道的库列表中。
看起来你可以手动操作:
sudo ldconfig
重要提示:警告:我没有Ubuntu并且无法测试此方法。而且这是一个
sudo
命令。请自行承担风险,结果可能有所不同等等。
如果这个方法不起作用,可能是因为一个名为/etc/ld.so.conf
的文件没有设置搜索libstdc++所在的目录。我不敢尝试描述如何修复它。
sudo apt install -f
上述命令应该安装任何缺失的依赖项。