[英]AWS : cannot execute binary file
我的服务器是Amazon Linux AMI 64位 ( 2014.09-release-notes )
我编译了一个用C ++编码的程序(已安装gcc48-c ++。x86_64 ):
[root@ip-***-**-**-*** waveform_generator]# make
Compiled [src/main.cpp] >> [src/main.o]
Compiled [src/File.cpp] >> [src/File.o]
Compiled [src/AGenerator.cpp] >> [src/AGenerator.o]
Compiled [src/GeneratorSVG.cpp] >> [src/GeneratorSVG.o]
Compiled [src/GeneratorCanvas.cpp] >> [src/GeneratorCanvas.o]
Compiled [src/GeneratorPNG.cpp] >> [src/GeneratorPNG.o]
Compiled [src/Header.cpp] >> [src/Header.o]
Compiled [src/pngwriter.cpp] >> [src/pngwriter.o]
Built [wfgen]
现在,当我执行编译文件“ wfgen”时,控制台将返回以下消息:
[root@ip-***-**-**-*** waveform_generator]# bash wfgen
wfgen: wfgen: cannot execute binary file
环境 :
[root@ip-***-**-**-*** waveform_generator]# uname -i
x86_64
[root@ip-***-**-**-*** waveform_generator]# file wfgen
wfgen: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, BuildID[sha1]=2e7c881c6fc10f12cdf49402edae1cc36b8d77a0, not stripped
您有解决我问题的方法吗?
非常感谢 :)
最大。
当您键入
[root@ip-***-**-**-*** waveform_generator]# bash wfgen
我认为bash希望wfgen是一个Shell脚本。 相反,您可以在提示符下直接键入程序名称
[root@ip-***-**-**-*** waveform_generator]#./wfgen
看起来编译正常, file
命令的输出看起来不错。 我不知道Makefile中有什么,但也可以。
我不太了解您的环境,因此我在这里稍作猜测:如果其他一切正常,并且您仍然收到cannot execute binary file
错误,则可能是因为您的文件系统已使用noexec
挂载选项。
要检查是否存在这种情况,请运行mount
,然后确定当前目录位于哪个装载点下,并检查是否为此装载点设置了noexec
装载选项。
如果确实是noexec
问题,则有两个选择:
noexec
选项重新安装文件系统。 如果您希望此设置永久生效,请不要忘记编辑/etc/fstab
。 (但是请注意, noexec
可能是有原因的。请确保可以将其删除。) noexec
限制的文件系统,然后从那里尝试。 一个好地方是/usr/local/bin
目录(或/usr/local/sbin
,如果它是一个管理工具)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.