关于-/bin/sh:xx(命令) not found 的几种原因和解决办法

编写背后:昨天移植无线网卡到mini2440基本完成到最后一步:用命令:iwlist scanning  搜索网络时串口终端却出现了 -/bin/sh: iwlist  not  found ,后来请教老范老师点拨知道是库问题,最后自己找到问题、解决问题,才有此引发有所总结......

关于-/bin/sh:xx(命令) not found  的几种原因:

1./bin/目录下没有这个命令;

2.bin/目录有这个命令,只是执行权限不够,或者程序执行权限不够;

3.程序需要的静态库或者动态库没有;

解决办法:

原因一的解决方法:安装busy box将busy box支持的命令安装到文件系统的bin目录下;(只要安装了busy box它会自动加载命令到bin目录下,这个你懂的,若不懂请看我的博文《根文件系统的制作》)

原因二的解决方法:在/bin/目录下找到对应的命令,修改其权限为777;具体操作: chmod   777  xx(命令)  【附加:在编写执行脚本文件时不能运行也大多是没有修改脚本权限的问题(命令其实就是一个特殊的脚本)】

原因三的解决方法

(1)最“高效”的解决方法:用命令:arm-linux-readelf   -d   xxx(目标文件/命令)    查看xxx使用的动态库

如图:我的iwlist命令使用的动态库是libiw.so.29 、libm.so.6 和libc.so.6  

于是我便去交叉编译器所在目录/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib下的动态库中寻找所需的上面三个库libiw.so.29 、libm.so.6 和libc.so.6  ,并复制到根文件系统的lib目录下:

(注意:这里我使用交叉编译器的版本为4.3.2的版本所以目录4.3.2有所不同即到/usr/local/arm/(编译器版本)/arm-none-linux-gnueabi/libc/armv4t/lib下的动态库中寻找)

(2)最“2”最笨的方法:把/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib下的所有动态库都拷贝到根文件系统的lib目录下;(但是这种方法在嵌入式开发里面无意增加了成本,拷贝了一些不必要的动态库文件,增大了根文件系统的体积)

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
/bin/sh: gcc: not found 是一个错误提示,表示在当前系统中找不到 gcc 编译器。gcc 是 GNU Compiler Collection 的缩写,是一种常用的编译器工具,用于编译 C、C++ 等程序语言。 如果你在使用 gcc 编译器时遇到了这个错误,可能是因为你的系统没有安装 gcc 或者没有将其路径添加到环境变量中。你可以通过以下步骤来解决这个问题: 1. 检查是否已经安装了 gcc。在终端中输入以下命令: ``` gcc --version ``` 如果显示出 gcc 的版本信息,则表示已经安装了 gcc。如果没有显示任何信息或者提示找不到命令,则需要进行下一步操作。 2. 安装 gcc。根据你所使用的操作系统不同,安装 gcc 的方法也会有所不同。例如,在 Ubuntu 系统中,可以使用以下命令安装 gcc: ``` sudo apt-get install gcc ``` 在其他操作系统中,可以通过包管理器或者从官方网站下载安装包进行安装。 3. 添加 gcc 路径到环境变量。如果已经安装了 gcc,但仍然提示找不到命令,可能是因为系统没有将 gcc 的路径添加到环境变量中。你可以编辑 ~/.bashrc 或者 ~/.bash_profile 文件,在其中添加以下行: ``` export PATH=$PATH:/path/to/gcc ``` 将 "/path/to/gcc" 替换为你的 gcc 安装路径。保存文件后,执行以下命令使修改生效: ``` source ~/.bashrc ``` 或者 ``` source ~/.bash_profile ``` 完成上述步骤后,再次尝试使用 gcc 编译器,应该就不会再出现 "/bin/sh: gcc: not found" 的错误了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值