配置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的工作环境。

Libcurl交叉编译的更多相关文章

  1. Ubuntu16.04 ARM平台移植libcurl curl-7.63.0

    libcurl是免费的轻量级的客户端网络库,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS,POP3, P ...

  2. 交叉编译总结 libosscore.a libcurl.a libmysqlclient.a

    把工程文件交叉编译到arm上运行,着实花费了一番功夫. 首先遇到的错误是 X uses VFP register arguments, B does not 百度了一下,发现是硬浮点和软浮点的问题,原 ...

  3. libcurl 支持 openssl 交叉编译 mips rt5350

    By admin | 11月18日 0 Comment Advertisement 历经半个月终于把libcurl库编译出来,参考网上很多博客,最终把自己要的库编译出来. 首先说明一下,我要这个库的目 ...

  4. 在Linux下使用MinGW静态交叉编译带有zlib的libcurl(包括交叉编译openssl,即--cross-compile-prefix=i686-w64-mingw32- mingw)

    在Linux下使用MinGW静态交叉编译带有zlib的libcurl libcurl是一个跨平台的.易用的.强大的网络库.在大部分Linux发行版中都有编译好的二进制包可供使用,Mac系统更是将其作为 ...

  5. 使用mingw 对libcURL,openSSL,zLib交叉编译

    使用mingw 对libcURL,openSSL,zLib交叉编译   将三个库解压到同一目录下 比如取目录名为 "source" 的目录   提前安装active-perl 配置 ...

  6. libcurl的封装,支持同步异步请求,支持多线程下载,支持https

    最近在做一个项目,需要用到http get post等 需求分析需要做到同步和异步,异步请求的返回以可选的回调通知的方式进行. 本人以Linux为例,一步一步的来实现. 配置并且编译libcurl我以 ...

  7. 海思平台交叉编译curl支持SSL功能

    1.准备工具 1).交叉编译工具 2).下载libcurl和openssl源代码,我使用的是(openssl-1.0.2o.tar,curl-7.59.0.tar) 3).查看cpu详细 ~ # ca ...

  8. edgex0.7.1_1.0.1的X86编译和交叉编译

    一. X86编译 1. 安装zeromq库 根据setup script安装: wget https://github.com/zeromq/libzmq/releases/download/v4.2 ...

  9. Linux主机上使用交叉编译移植u-boot到树莓派

    0环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS: Debian Jes ...

随机推荐

  1. C#接收WebSphere MQ中文乱码问题

    最近在用IBM的WebSphere MQ做数据传输,客户端操作系统Windows,服务器是AIX,我们用的都是UTF-8编码,但是联调时发现带中文的都出现了乱码.折腾了好久才发现问题,原来是CCSID ...

  2. LeetCode总结 -- 一维动态规划篇

    这篇文章的主题是动态规划, 主要介绍LeetCode中一维动态规划的题目, 列表如下: Climbing StairsDecode WaysUnique Binary Search TreesMaxi ...

  3. 【Leetcode】【Easy】Count and Say

    The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...

  4. shell命令详解

    sed命令 将文本input.txt中含有”姓名”字符串的行中的谢朝辉替换成扎巴依 sed -e '/姓名/s/谢朝辉/扎巴依/g' input.txt 将input.txt中第n(5)行替换成”ji ...

  5. vscode:解决操作git总让输入用户名及密码问题

    只要是使用git操作,不管是同步,拉去,克隆,vscode总让我们输入用户名及密码,是一件很繁琐的事情 我们打开终端,会看到cmd定位在我们仓库位置,我们只要添加:git config --globa ...

  6. C#图解教程读书笔记(第9章 语句)

    文件头的Using是Using指令,不是using语句 using (TextWriter tw = File.CreateText("xixi.txt")) { tw.Write ...

  7. 关于一篇对epoll讲的比较好的一篇文章

    原文地址http://www.cnblogs.com/lojunren/p/3856290.html 前言 I/O多路复用有很多种实现.在linux上,2.4内核前主要是select和poll,自Li ...

  8. CF1063A Oh Those Palindromes

    嘟嘟嘟 只要将每一种字母放一块输出就行了. 证明1:比如 1 2 3 4 5 6,那么这个序列对答案的贡献分别是1和5,2和4 ,3和6……如果重新排列成x x x x o o,会发现对        ...

  9. luogu U41573 War2

    一道NOIP2018模拟的DayT3 原本没打算做,结果Dukelv秒了(强的过分),就来看看. 状压dp.令dp[i][j]表示在状态 i ,最后选了第 j 个数是的最大分值. 所以我们枚举状态 i ...

  10. 【转】Android之drawable state各个属性详解

    我们在定义一个drawable的时候可以通过xml定义的drawable对象.它使得一个图片能在不同的状态下显示不同的图案,比如一个Button,它有pressed,focused,或者其它状态,通过 ...