make install时"arm-linux-ranlib command not found"

本文讲述了在使用makeinstall命令时遇到“arm-linux-ranlib command not found”错误的原因及解决方法。作者通过分析发现该问题是由于使用sudo导致工作环境变化引起的,并提供了一种解决方案:先使用su命令切换到root用户后再执行makeinstall。

make install时"arm-linux-ranlib command not found" 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的工作环境。

make[2]: Leaving directory '/home/bell/nm/nvr_2025/torchlight/package/toolchain' make[2]: Entering directory '/home/bell/nm/nvr_2025/torchlight/package/ocf-crypto-headers' make[2]: Leaving directory '/home/bell/nm/nvr_2025/torchlight/package/ocf-crypto-headers' make[2]: Entering directory '/home/bell/nm/nvr_2025/torchlight/package/zlib' make -j1 -C /home/bell/nm/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/zlib-1.2.7 AR=arm-linux-ar AS="arm-linux-gcc -c -Os -pipe -march=armv7-a" LD=arm-linux-ld NM=arm-linux-nm CC="arm-linux-gcc" GCC="arm-linux-gcc" CXX="arm-linux-g++" RANLIB=arm-linux-ranlib STRIP=arm-linux-strip OBJCOPY=arm-linux-objcopy OBJDUMP=arm-linux-objdump SIZE=arm-linux-size CFLAGS="-Os -pipe -march=armv7-a" libz.a libz.so.1.2.7 make[3]: Entering directory '/home/bell/nm/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/zlib-1.2.7' arm-linux-gcc -Os -pipe -march=armv7-a -c -o adler32.o adler32.c make[3]: arm-linux-gcc: Command not found <builtin>: recipe for target 'adler32.o' failed make[3]: *** [adler32.o] Error 127 make[3]: Leaving directory '/home/bell/nm/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/zlib-1.2.7' Makefile:69: recipe for target '/home/bell/nm/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/zlib-1.2.7/.built' failed make[2]: *** [/home/bell/nm/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/zlib-1.2.7/.built] Error 2 make[2]: Leaving directory '/home/bell/nm/nvr_2025/torchlight/package/zlib' package/Makefile:105: recipe for target 'package/zlib/compile' failed make[1]: *** [package/zlib/compile] Error 2 make[1]: Leaving directory '/home/bell/nm/nvr_2025/torchlight' /home/bell/nm/nvr_2025/torchlight/include/toplevel.mk:172: recipe for target 'package/dsd/compile' failed make: *** [package/dsd/compile] Error 2
最新发布
09-03
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值