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的工作環境。

 

不知是否正確

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