2011-05-31 编译错误种种

在make 一个模块时,提示:

arm-none-linux-gnueabi-ld  cannot open output file XXX.o  Permission denied

想到切换用户,但 sudo make 会提示:

 command not found

因而用su切换用户.

但用su时:

$ su - root
Password:
su: Authentication failure
Sorry.

这时候输入

$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

可以到root用户.

但再次编译时,出现:

/Makefile: No such file or directorysrc/arch/arm
gcc: Command not foundnueabi-
查了半天,想到应该编译器路径不对,但source envsetup.sh已经把环境搭好了啊.

再查,注意到source envsetup.sh时会出现: command not found的提示,但看了很久,envsetup.sh和原来一样啊,没有改动什么.

最后用比较器比较,终于发现和旧的envsetup.sh相比,这个envsetup.sh里面的回车键全没有了.(不知那个编辑器自动把其去掉了,可能是sourceinsight),替回原来的,就可以了

但是最开始的Permission denied问题还没解决啊,可是我重新编译这个模块时,Permission denied这个问题没有了,这是怎么回事?(为什么原先会有呢?和envsetup.sh有关?)

 

网上说:

最后查找su 和sudo 的区别,终于理解了,原来是工作环境的问题。希望此贴以后对其它人有帮助!
su 和 sudo 的区别:
  1.共同点:都是root用户的权限;
  2.不同点:su仅仅取得root权限,工作环境不变,还是在切换之前用户的工作环境;sudo是完全取得root的权限和root的工作环境。

 

不知是否正确

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章