不知道怎么回事,执行make,后报错
bash: /usr/local/arm_linux_4.8/usr/bin/make:无法执行二进制文件: 可执行文件格式错误
一般这个情况,都是权限不对;
但是make不是一般的指令,按照提示“可执行文件格式错误”
执行file指令进行查看
which make 查看文件位置
然后查看文件属性
$ file /usr/local/arm_linux_4.8/usr/bin/make
/usr/local/arm_linux_4.8/usr/bin/make: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-uClibc.so.0, with debug_info, not stripped
正常的环境如下(重装后查看的):这是ubuntu
$ file /usr/bin/make
/usr/bin/make: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a1142a8625d6a42c0f921593b1c0e3b24183c17c, stripped
所以,应该是不知什么操作吧这个环境给搞坏掉了
解决:重装make
步骤如下:
通过以下步骤卸载并重新安装
make
:
卸载make:
如果您之前通过源码安装过make
,并且没有使用包管理器(如apt
),那么您需要手动删除相关文件和目录。通常,这会涉及到删除您解压源码的目录以及编译安装时生成的二进制文件。如果您使用了
apt
或apt-get
安装,可以通过以下命令卸载:
sudo apt-get remove make
如果您同时想要删除配置文件,可以使用:
sudo apt-get --purge remove make
清理残留文件:
如果您手动编译安装了make
,确保删除所有相关的文件和目录。例如,如果您在/usr/local
目录下安装了make
,您需要执行以下命令:
sudo rm -rf /usr/local/bin/make
sudo rm -rf /usr/local/share/man/man1/make.1.gz
请注意,上面的命令是示例,您需要根据您的安装位置来调整路径。
重新安装make:
make
通常是build-essential
软件包的一部分,该软件包包含了编译大多数源代码所需的工具。您可以通过以下命令来安装build-essential
,其中包括make
:
sudo apt-get update
sudo apt-get install build-essential
这将安装
make
以及其他编译工具,如gcc
和g++
。如果您只想要
make
,而不想要整个build-essential
包,您可以尝试:
sudo apt-get install make
4.验证安装:
安装完成后,您可以通过在终端中输入make --version
来验证make
是否成功安装,并查看其版本信息
最后,which make查看安装位置,
$ which make
/usr/bin/make
然后 加入环境:export PATH=/usr/bin:$PATH
再次make,可以解决