2016-11-07 43 views
1

我已经为我的Ubuntu(16.04)下载了Swift的正式版本。 我想执行文件/path/to/swift/usr/bin/swift。 我在此目录输入./swift,并出现exec格式错误。 无论我是直接运行它(./)还是更改$PATH并输入swift都不会出现同样的错误。在Ubuntu上执行swift

这是Swift的问题吗? 或者是我的Ubuntu或这个可执行文件的问题?

UPDATE:确切的错误是:bash: /swift-3.0/usr/bin/swift: cannot execute binary file: Exec format error

file命令报告:

/swift-3.0/usr/bin/swift: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, not stripped 

uname -a说:

Linux Lenovo-B570 4.4.0-45-generiC#66-Ubuntu SMP Wed Oct 19 14:12:05 UTC 2016 i686 i686 i686 GNU/Linux 
+0

什么'file/path/to/swift/usr/bin/swift'打印? –

+0

/swift-3.0/usr/bin/swift:适用于GNU的ELF 64位LSB可执行文件,x86-64,版本1(SYSV),动态链接的解释器/lib64/ld-linux-x86-64.so.2/Linux 2.6.32,没有剥离 – Dawid

+0

而'uname -a'?另外,请使用您收到的* exact *错误消息更新您的问题。 –

回答

0

看一看这个tutorial for installing swift 3从蒸汽框架文档。

尝试卸载快捷,使用

curl -sL swift.vapor.sh/ubuntu | bash

从链接

注意重新安装:安装脚本会自动添加斯威夫特到你的〜/ .bashrc中的配置文件。

运行上述命令后,您应该可以运行swift文件。

*注意:如果这不起作用,那么我们可以确定安装不是问题。

+0

谢谢,它仍然不起作用,但它可能不是问题迅速。试图找到答案,我意识到我有32位的Ubuntu版本,可执行文件是64位(基思,谢谢)。有什么方法可以比运行虚拟机更好地在此系统上运行它? – Dawid

0

您试图在32位系统(i686)上运行64位可执行文件(x86-64)。

这将无法正常工作(尽管通常可以通过典型设置进行相反操作)。

您需要找到并安装32位版本的Swift。 (或者,如果可行,请考虑将系统更新为使用64位操作系统。)