⑴ make:arm-linux- conmand not found错误处理探讨
make:arm-linux- conmand not found错误处理的总结
在超级用户权限下建立交叉编译环境成功,但编译是显示
make:arm-linux- conmand not found
最终发现原因是:
修改makefile文件的CROSS_COMPILE =arm-linux-时在最后加入了空格。
总结:
makefile文件不是c语言文件,不允许自己添加空格,因为空格会当初
makefile的字符处理。即使要进行对齐,要使用tab键。
⑵ Ubuntu 嵌入式交叉编译环境搭建
在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译,这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码,而这种工具就是交叉编译器(cross compiler)。
安装前的絮叨,首先简单介绍一下,所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。 交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链;arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。 那么gcc和arm-linux-gcc的区别是什么呢?区别就是gcc是linux下的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc用来在linux下跨平台的C语言编译器,编译出来的程序在目标机(如ARM平台)上执行,嵌入式开发应使用嵌入式交叉编译工具链。
将压缩包arm-linux-gcc-4.4.3.tar.gz存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了,我的存放路径是 /home/song/software,如下图,记住这个路径,等会还会用到。
使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz将software文件夹下的arm-linux-gcc-4.4.3.tar.gz解压缩安装到当前目录下如下图
通过下图可以看到解压成功了,并且解压后的文件存放在了/home/song/software/opt/FriendlyARM/toolschain/4.4.3文件夹下,如下图所示,这个存放路径可得记住,如下图
接下来配置系统环境变量,把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。记下上一步中的安装路径,使用命令:vim /etc/profile 编辑profile文件,添加环境变量。
在profile中最后一行添加:export PATH=$PATH:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin这个路径就是那个bin目录所在的路径,可能你的不一样,按照你实际的目录填就可以了,如下图32行, 编写完退出并保存
使用命令:source /etc/profile 使环境变量生效
在终端上输入命令arm-linux再按Tab键,可以看到下图,说明环境变量设置成功了
使用命令:arm-linux-gcc -v 会出现下面的错误提示:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec: /home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found
意思是出现这种问题的原因是由于Ubuntu12.04用的是64位的,解决方法就是使用命令:sudo apt-get install ia32-libs 装一些32位的库。
待安装完32位的库之后,再使用命令:arm-linux-gcc -v,这一次就成功了,如下图
验证,编译一个hello.c文件
使用命令:arm-linux-gcc hello.c -o hello 看是否编译成功 可见成功生成了二进制文件。
总结:其实在安装过程中,会出现各种各样的错误,一般就是库文件安装不完整,大家可以把错误信息直接复制,到网上搜索一下,一般都能解决,这里希望大家在学习Linux时多一点耐心。
⑶ /home/linux-2.6.25.8/scripts/mksysmap: line 43:arm-linux-nm command not found 怎么改
这个是因为你在那个文件中使用了arm-linux-nm这个命令,但是你的系统里并没有这个命内令。
简单来说,你打一容个显示当前文件夹内容的 ls 命令,但是如果你系统里没有这个命令,那么系统也会提示command not found,当然也不会显示当前文件夹内容。
这类问题常见于使用交叉编译链编译文件时,由于没有正确设置编译链,系统无法找到对应的命令。依照经验,arm-linux-nm应该是交叉编译指令。
改正方法应该是,检查你的编译工具设置和makefile文件(可能没有),看二者与要编译的目标文件是否匹配,检查方法请参照你的板子手册或者开发指导。正确设置后,重新执行或者编译。
⑷ 用交叉编译器(已经更改为arm-linux-gcc) 编译内核;但是提示gcc没有找到
提示 gcc:not command;就表示是gcc命令没找到,这个和你的arm-linux-gcc没关系,因为如果arm-linux-gcc找不到的话,会提示版arm-linux-gcc找不到的,所以你权就只能猜是不是host边的gcc没找到,然后在你的主机端安装gcc开发包就可以了。
嵌入式一种重要的能力就是debug,自己锻炼下吧,以后这种简单的问题就能搞定了。
⑸ ubuntu系统系交叉编译出现command not found错误,谢谢
1、核实 mips-openwrt-linux-uclibc-gcc 是否有执行权限
chmod +x mips-openwrt-linux-uclibc-gcc
2、核实 mips-openwrt-linux-uclibc-gcc 是否为快捷链接,
1)其链接的gcc是否有执行权限
2)其链接是否在正确的位置
3、核实PATH路劲是否添加正确(相信楼主是加正确了的)
根据楼主截图,这个环境变量是有的,一般应该检查1、2点
⑹ linux编译内核出现arm-linux-gcc command not found ,用yum安装,nothing to do ,继续编译,同样的错误
首先呢,交叉昌宽编译环境,不是通过服务器来安装的。
将交叉编译环境解压到指定目录,然后设置好环境握迅渗
最后验证安装成功否:arm-linux-gcc -v 查看下版本
确认好才能进一步操作。
添加环境变量:export PATH=$PATH:/home/frankie/段脊usr/..../bin(直到添加到bin目录才行)
⑺ Ubuntu14.04 用arm-linux-gcc 4.4.3 配置交叉编译环境问题
安装步骤
1、将压缩包arm-linux-gcc-4.4.3.tar.gz存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了