社区
Linux_Kernel
帖子详情
ubuntu cannot execute binary file: Exec format error,交叉编译器安装失败
qq_39663200
2018-07-24 09:29:21
网上各种方法都试过了,还是不行,求大佬帮忙
...全文
7608
7
打赏
收藏
ubuntu cannot execute binary file: Exec format error,交叉编译器安装失败
网上各种方法都试过了,还是不行,求大佬帮忙
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jinfa86
2020-07-02
打赏
举报
回复
安装运行binfmt-support 支持i386 参考https://blog.csdn.net/shengerjianku/article/details/82290482
duapple
2020-07-02
打赏
举报
回复
引用 5 楼 孤独浪人小飞哥 的回复:
请问 你的这种情况是发生在使用WIN10自带的linux子系统下,采用交叉编译发生的吗?
发现好像是因为交叉编译工具链是32位的,但是wsl似乎是不支持32位软件的。即使安装了兼容32的库也还是不行,但是在ubuntu18.04上安装了就行了。
duapple
2020-07-02
打赏
举报
回复
引用 5 楼 孤独浪人小飞哥 的回复:
请问 你的这种情况是发生在使用WIN10自带的linux子系统下,采用交叉编译发生的吗?
我尝试在windows10下的wsl子系统安装hisi的交叉编译工具链。但是并不能运行,就是上面楼主说的情况。在虚拟机下没问题,wsl安装过程没有任何选项,直接就完成了。但是虚拟机下还要进行很多选择,我怀疑是wsl的问题。
Workholic_365
2018-07-28
打赏
举报
回复
请问 你的这种情况是发生在使用WIN10自带的linux子系统下,采用交叉编译发生的吗?
nes-c
2018-07-25
打赏
举报
回复
上面说的有疏漏,交叉编译器一般不提供源码,所有不需要安装,也并不是所有的都不需要安装。
nes-c
2018-07-25
打赏
举报
回复
交叉编译器一般是对应的CPU厂商提供的,到对应的系统环境上面编译它CPU的可执行程序用的,而不是要安装
你上面的bomb如果是交叉编译出来的,那么在host主机肯定是无法执行的
如果arm-linux-gcc是交叉编译工具,那么不能执行说明这个交叉编译器跟你的系统环境是不匹配的 ,有两种途径:1,重装你的系统适配该交叉编译器,2,索要适配你系统的交叉编译工具
Aventador118
2018-07-24
打赏
举报
回复
你得去对应的设备上执行吧
执行
交叉编译
中的GCC出现cannot
exec
ute
binary
file
:
Exec
format
error
的解决方法
问题描述 在运行
安装
好的
交叉编译
链时出现了这个问题。 这个问题的主要原因是编译链中的GCC是32位版本,而wsl本身是不支持的。 解决方法 出处:https://ask.csdn.net/questions/767294 https://github.com/Microsoft/WSL/issues/2468 https://blog.csdn.net/shengerjianku/article/details/82290482 感谢他们的搬运,现将步骤翻译如下: 假设有一个新的
Ubuntu
WSL实例
Unbuntu ./btest : cannot
exec
ute
binary
file
:
Exec
format
error
解决方案(CSAPP)
用WSL尝试CSAPP的第一个实验碰到的问题: 用下面的查了一下文件的类型:
file
btest 然后用各大搜索引擎找到一个类似的问题,原因是unbuntu还不支持32-bit i386 ELF binaries: GitHub上已经有人碰到过这个问题但是似乎还是没有解决,地址: Support for 32-bit i386 ELF binaries 解决方案: vim Make
file
找到里面的: 改为: 我的可以用了。 不知道是否适用于其它地方,你们如果遇到也可以类试地修改一下。
win10
ubuntu
子系统运行
交叉编译
器
报错
运行
交叉编译
器
时报错如下信息: cannot
exec
ute
binary
file
:
Exec
format
error
当我运行如下命令时报错如下内容: root@DESKTOP-LIYUAN:~# arm-none-linux-gnueabi-gcc -v -bash: /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc: cannot
exec
ute
binary
file
:
Exec
format
error
此报错问题原因为win
Ubuntu
离线
安装
java8问题
bash: /usr/bin/java: cannot
exec
ute
binary
file
:
Exec
format
error
错误 解决方案:官方解释 1.下载地址 2.通过工具上传到服务
器
/usr/local/java目录下 3.解压` tar -zxvf /usr/local/jdk-8u291-linux-aarch64.tar.gz 4.配置环境变量 通常情况下,/etc/pro
file
文件是只读的,直接用vi或gedit打开修改后是无法保存的。要修改pro
file
,需要取得root权限
bash: ./xxx: 无法执行二进制文件: 可执行文件格式错误或者-bash: ./gcc1c: cannot
exec
ute
binary
file
:
Exec
format
error
因为pc上的
ubuntu
是x86_64架构的,所以使用它默认的gcc编译
器
编译后得到的可执行文件也只适用于在x86_64架构上运行,如果把这个可执行文件放到arm架构或者mips等其他架构机
器
上运行,则会报错说无法执行二进制文件,可执行文件格式错误。同理,使用arm64版本的gcc(我的是aarch64-linux-gnu-gcc)编译出来的文件也只能在arm64平台上运行,如果把把这个文件放到pc上的
ubuntu
上运行,也会报错格式不正确。写了个1.c测试程序,输出hello world。
Linux_Kernel
4,465
社区成员
17,462
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章