在CentOS上安装Swift语言(Red Hat)

时间:2015-12-03 18:39:33

标签: swift centos

我想在我的工作场所使用Swift语言 swift.org目前仅为Ubuntu 14.04和15.10提供二进制文件 我的工作场所使用CentOS 6.6(类似于Red Hat 6)。

我尝试运行二进制文件,产生此错误消息:

swift: error while loading shared libraries:
libedit.so.2: cannot open shared object file: No such file or directory

Ubuntu的构建说明如下:
https://github.com/apple/swift/blob/master/README.md

有人可以为CentOS 64位提供二进制文件或构建指令吗?

4 个答案:

答案 0 :(得分:3)

我认为你最好的选择是从源代码构建Swift。我有一篇关于如何在这里做的文章:

http://www.swiftprogrammer.info/swift_centos_2.html

它适用于CentOS 6.7,但很可能它也适用于6.6。请注意,生成的软件将具有比Apple提供的Ubuntu二进制文件更有限的功能:

  • Swift编译器(swiftc)和解释器(swift)看起来很有用。
  • Swift构建系统和REPL无法正常工作。

尽管如此,这将为您提供足够的Swift功能。如果时间允许,我将在下周左右尝试在github上提供我的二进制文件。

要记住的另一件事是Linux上的Swift在很早的阶段就在进行中。此外,即使Swift作为一种语言在Linux上可用,我们在Mac OS X和iOS上认为理所当然的很多模块,例如Foundation,远远没有在Linux上合理实现,所以不要期望能否在Linux上做到可以在Apple平台上完成的事情。这甚至适用于Apple提供的Ubuntu二进制文件。

希望这会有所帮助,一切顺利!

答案 1 :(得分:1)

我只是将libedit.so复制并重命名为libedit.so.2,我试图将swift集成到Atom编辑器中,这个错误在构建项目时是错误的,现在它工作正常,以防你在构建时遇到问题项目由于缺少头文件,你必须按如下方式进行符号链接,sudo ln -s / usr / include / sys / / usr / include / x86_64-linux-gnu / sys

答案 2 :(得分:0)

Debian和Red Hat正在为同一个API使用不同的版本

libedit.so.2可在libedit.so.0.0.42的rhel上找到。您可以尝试符号链接。

cd /usr/lib64
ln -s libedit.so libedit.so.2

不幸的是,这将导致下一个拦截器,至少在Centos 7上。

 error: failed to launch REPL process: process launch failed: 'A' packet returned an error: -1

这是某种内部lldb错误。它似乎发生在过去(在15/12/03之前),只有当lldb无法正确连接到IOS模拟器时。

本来希望将此作为评论发布,但我不能因为没有足够的代表。也许有lldb知识的人可以提供一些关于如何从这一点继续进行的提示。

答案 3 :(得分:0)

除了mgmart的答案,您可能需要将bsdlib和symlink安装到libicu18n.so和libicuuc.so的红帽版本

在fedora上我使用了以下命令:

ln -s /usr/lib64/libicui18n.so.54 /usr/lib64/libicui18n.so.55
ln -s /usr/lib64/libicuuc.so.54 /usr/lib64/libicuuc.so.55
相关问题