AWS:无法执行二进制文件
AWS : cannot execute binary file
我的服务器是亚马逊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
,如果它是一个管理工具的话)
相关文章:
- 如何忽略某些二进制文件的执行?
- -bash:/a.out:无法执行二进制文件:Exec格式错误
- c ++:如何为每个特征制作特定的二进制文件(可执行文件)?
- 我有一个预处理的 C/C++ 源文件 (cacti.i).如何从这个 .i 文件生成可执行二进制文件,以便我可以像 ./
- 如果在执行过程中替换二进制文件,"const"数组是否驻留在内存中?
- 如何告诉 clang 将调试符号放入可执行二进制文件中
- Docker Centos,无法执行二进制文件
- bash:./main:无法执行二进制文件:Exec格式错误
- 如何直接从分配的内存中执行mmaped二进制文件/代码
- 在运行时动态更新二进制文件(可执行文件)而不停止的任何类型的方法
- 无法使用字符串中的命令使用 execlp() 执行二进制文件
- 从没有外壳的C++执行二进制文件
- 从 Web UI 访问C++编译的可执行二进制文件
- bash:即使二进制和Linux是64位的,也无法执行二进制文件:Exec格式错误
- AWS:无法执行二进制文件
- 从内存执行二进制文件
- PHP - 无法执行 c++ 二进制文件?
- 如何制作不依赖于 .so 文件的可执行二进制文件
- 使用apache thrift通过exec执行二进制文件
- 在linux中使用共享库执行二进制文件