分享

关于移植qt在make install问题

 舒紫晴姚 2012-02-15
经过不懈努力,好不容易make编译通过,在安装时用sudo make install居然又出现了/bin/sh: arm-linux-strip: not found"问题,本以为会顺利安装,而且还困扰了我好多天,经过查看我的交叉编译器下有arm-linux-strip啊,问了好多人也不知道,只好自己网上找,有类似的问题:

    按照以前经验,把要改的地方改好。接着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去执行还是一样的错误, 有几种方法可以切换的,sudo -i 然后输入你用户名得密码。一种sudo passwd 直接设置root密码 然后再su 进去

本来我都以为不是这个问题了,是我那个编译器下的那个命令有问题,但今晚不经意有些想法:在sudo -s 获得root下,重新export 了一下PATH 在suorce 一下,使之立即生效,在 去make install 没想到居然通过了,兴奋啊,之前我都是直接到root下就执行make install了,怪不得!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多