配置configure

./configure --build=arm --host=mipsel-openwrt-linux --prefix=/usr/local/curl

执行make

make

取得su权限

su

开始安装

make install

踩坑总结

如果执行sudo make install,会出现以下错误

[ihid@VM_11_5_centos curl-7.61.0]$ sudo make install
[sudo] password for ihid:
Making install in lib
make[1]: Entering directory `/home/ihid/curl-7.61.0/lib'
make[2]: Entering directory `/home/ihid/curl-7.61.0/lib'
/usr/bin/mkdir -p '/usr/local/curl/lib'
/bin/sh ../libtool --mode=install /usr/bin/install -c libcurl.la '/usr/local/curl/lib'
libtool: install: /usr/bin/install -c .libs/libcurl.so.4.5.0 /usr/local/curl/lib/libcurl.so.4.5.0
libtool: install: (cd /usr/local/curl/lib && { ln -s -f libcurl.so.4.5.0 libcurl.so.4 || { rm -f libcurl.so.4 && ln -s libcurl.so.4.5.0 libcurl.so.4; }; })
libtool: install: (cd /usr/local/curl/lib && { ln -s -f libcurl.so.4.5.0 libcurl.so || { rm -f libcurl.so && ln -s libcurl.so.4.5.0 libcurl.so; }; })
libtool: install: /usr/bin/install -c .libs/libcurl.lai /usr/local/curl/lib/libcurl.la
libtool: install: /usr/bin/install -c .libs/libcurl.a /usr/local/curl/lib/libcurl.a
libtool: install: chmod 644 /usr/local/curl/lib/libcurl.a
libtool: install: mipsel-openwrt-linux-ranlib /usr/local/curl/lib/libcurl.a
../libtool: line 1818: mipsel-openwrt-linux-ranlib: command not found
make[2]: *** [install-libLTLIBRARIES] Error 127
make[2]: Leaving directory `/home/ihid/curl-7.61.0/lib'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/ihid/curl-7.61.0/lib'
make: *** [install-recursive] Error 1

在终端检查,发现arm-linux-ranlib可以在系统的PATH中找到,因为已经把交叉编译链添加到了PATH中。

那为什么还提示说找不到arm-linux-ranlib呢?

原因如下:

  1. 添加交叉编译器目录到PATH中是放在~/.bash_profile里的,这是用户的配置文件
  2. 执行make install时,加了sudo前缀,变成了root的工作环境和root的权限。

    根据以上两点,make install是在root下做的,而arm-linux-ranlib在用户的工作环境中才能找到。所以产生了这里的错误。

那我既要取得root权限,又要具有当前用户的工作环境,该怎么办呢?

解决如下:

  1. 方法一:执行make install之前,先用下su命令取得root权限。然后再执行make install。
  2. 方法二:修改交叉编译链环境变量为全局

su 和 sudo 的区别:

  1. 共同点:都是root用户的权限;
  2. 不同点:su仅仅取得root权限,工作环境不变,还是在切换之前用户的工作环境;sudo是完全取得root的权限和root的工作环境。

最新文章

  1. Using Dagger2 in Android
  2. Linux-学习前言
  3. 关于onethink的迁移站点产生数据库错误
  4. 记录自己在使用Bootstrap中的心得
  5. MACD、BOLL、KDJ 三大组合精准把握趋势与买卖!
  6. 黄聪:手机移动端建站Jquery+CSS3+HTML5触屏滑动特效插件、实现触屏焦点图、图片轮展图
  7. 基于OpenDaylight和Mininet的试验床平台搭建
  8. jsViews validates(验证)
  9. Seven Steps to Success Machine Learning in Practice
  10. AMH4.2 Ftp账号路径修改设置
  11. POJ2528线段树基础
  12. spring与hibernate整合配置基于Annotation注解方式管理实务
  13. FineUI框架 使用asp.net控件及其使用问题
  14. idea配github
  15. js调试console.log使用总结图解
  16. 【iCore1S 双核心板_FPGA】例程十七:基于双口RAM的ARM+FPGA数据存取实验
  17. LintCode: Delete Node in the Middle of Singly Linked List
  18. WebService,ASMX文件使用XML格式数据传递参数、验证与获取XML格式返回值的一种方式
  19. Linux命令学习-图形化界面命令开关闭
  20. HTML 如何显示英文单、双引号

热门文章

  1. leetcode Ch2-Dynamic Programming [2014]
  2. SVN学习---使用 Visual SVN 搭建SVN服务器
  3. c++中左值的含义
  4. PowerDNS简单教程(2):功能篇
  5. Django 模型中DateField字段
  6. 软件架构的描述-Architecture Models
  7. BZOJ3670:[NOI2014]动物园(KMP)
  8. PHP日志 LOG4PHP 的配置与使用
  9. redis安装和简介(1)
  10. Arduino 入门之小星星