2011-05-31 编译错误种种

    技术2022-06-11  58

    在make 一个模块时,提示:

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

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

     command not found

    因而用su切换用户.

    但用su时:

    $ su - rootPassword: su: Authentication failureSorry.

    这时候输入

    $ sudo passwd rootEnter new UNIX password: Retype new UNIX password: passwd: password updated successfully

    可以到root用户.

    但再次编译时,出现:

    /Makefile: No such file or directorysrc/arch/armgcc: 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的工作环境。

     

    不知是否正确


    最新回复(0)