Chinaunix首页 | 论坛 | 博客
  • 博客访问: 270673
  • 博文数量: 50
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 919
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-03 19:18
个人简介

非淡泊无以明志,非宁静无以致远

文章分类

全部博文(50)

文章存档

2018年(2)

2017年(6)

2016年(7)

2015年(10)

2014年(11)

2013年(14)

我的朋友

分类: 嵌入式

2017-01-16 10:30:16

sudo make install。由于安装到系统目录/usr/local,所以加了sudo执行。就这步,出现了问题:

../libtool:line XXXX:arm-Linux-ranlib command not found

在终端检查,发现arm-linux-ranlib可以在系统的PATH中找到,因为我已经把/usr/local/arm/4.3.2/bin添加到了PATH中。

那为什么还提示说找不到arm-linux-ranlib呢?

原因如下:

1.我添加arm交叉编译器目录到PATH中是放在/etc/profile里的,这是用户的配置文件,我的用户为clever。

2.执行make install时,加了sudo前缀,变成了root的工作环境和root的权限。

根据以上两点,make install是在root下做的,而arm-linux-ranlib在wmm用户的工作环境中才能找到。所以产生了这里的错误。

那我既要取得root权限,又要具有当前用户yan的工作环境,怎办呢?

解决如下:

执行make install之前,先用下sudo -i命令取得root权限。然后再执行make install。

su 和 sudo 的区别:

1.共同点:都是root用户的权限;

2.不同点:su仅仅取得root权限,工作环境不变,还是在切换之前用户的工作环境;sudo是完全取得root的权限和root的工作环境。

注意:sudo su切换到root时原用户的环境变量也一并丢失。应使用sudo -i

索性就手动添加PATH环境变量export $PATH=/opt/arm/4.3.2./bin:$PATH

然后make install,安装成功

阅读(5042) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~