原文网址:http://blog.chinaunix.net/u1/46715/showart_1663653.html
Author: wmmwang(unc,王敏敏)
Environment:fedora8
arm-linux-gcc 3.4.1
Minigui: 1.3.3
Date:2008-11-24
按照以前经验,把要改的地方改好。接着make,没的问题。
然后,sudo make install。由于安装到系统目录/usr/local,所以加了sudo执行。就这步,出现了问题:
../libtool:line XXXX:arm-linux-ranlib command not found
在终端检查,发现arm-linux-ranlib可以在系统的PATH中找到,因为我已经把/usr/local/arm/3.4.1/bin添加到了PATH中。
那为什么还提示说找不到arm-linux-ranlib呢?
原因如下:
1.我添加arm交叉编译器目录到PATH中是放在~/.bash_profile里的,这是用户的配置文件,我的用户为wmm。
2.执行make install时,加了sudo前缀,变成了root的工作环境和root的权限。
根据以上两点,make install是在root下做的,而arm-linux-ranlib在wmm用户的工作环境中才能找到。所以产生了这里的错误。
那我既要取得root权限,又要具有当前用户wmm的工作环境,改怎办呢?
解决如下:
执行make install之前,先用下su命令取得root权限。然后再执行make install。
su 和 sudo 的区别:
1.共同点:都是root用户的权限;
2.不同点:su仅仅取得root权限,工作环境不变,还是在切换之前用户的工作环境;sudo是完全取得root的权限和root的工作环境。
注:另外,一般情况下,Ubuntu安装后,root用户默认是被锁定了的,不允许登录,也不允许 su 到 root ,密码每次也不一样。
因此需要给root设定密码:
sudo passwd
下面按照提示走。。。。。