在 Arch 下编译 OpenWRT cmcurl 问题与解决方案
0 现象
在 Arch 下编译 OpenWRT (15.05) cmcurl 时报错:
[ 28%] Linking C executable LIBCURL
lib/libcmcurl.a(openssl.c.o): In function `cert_stuff`:
openssl.c:(.text+0x97a): undefined reference to `sk_num`
openssl.c:(.text+0x99a): undefined reference to `sk_pop`
openssl.c:(.text+0xa21): undefined reference to `sk_num`
openssl.c:(.text+0xa62): undefined reference to `sk_pop_free`
lib/libcmcurl.a(openssl.c.o): In function `Curl_ossl_init`:
openssl.c:(.text+0xf74): undefined reference to `SSL_load_error_strings`
openssl.c:(.text+0xf79): undefined reference to `SSL_library_init`
openssl.c:(.text+0xf89): undefined reference to `OPENSSL_add_all_algorithms_noconf`
lib/libcmcurl.a(openssl.c.o): In function `Curl_ossl_cleanup`:
openssl.c:(.text+0xfad): undefined reference to `EVP_cleanup`
openssl.c:(.text+0xfb2): undefined reference to `ERR_free_strings`
lib/libcmcurl.a(openssl.c.o): In function `verifyhost`:
openssl.c:(.text+0x1a7a): undefined reference to `sk_num`
openssl.c:(.text+0x1a9a): undefined reference to `sk_value`
lib/libcmcurl.a(openssl.c.o): In function `ossl_connect_step1`:
openssl.c:(.text+0x29a5): undefined reference to `SSLv23_client_method`
lib/libcmcurl.a(openssl.c.o): In function `X509V3_ext`:
openssl.c:(.text+0x3a77): undefined reference to `sk_num`
openssl.c:(.text+0x3aab): undefined reference to `sk_value`
openssl.c:(.text+0x3d5c): undefined reference to `sk_num`
lib/libcmcurl.a(openssl.c.o): In function `get_cert_chain`:
openssl.c:(.text+0x3fe2): undefined reference to `sk_num`
openssl.c:(.text+0x4061): undefined reference to `sk_value`
lib/libcmcurl.a(openssl.c.o): In function `Curl_ossl_version`:
openssl.c:(.text+0x61c3): undefined reference to `SSLeay`
collect2: error: ld returned 1 exit status
看得出来应该是相关库未链接成功。
1 解决方案
查阅了相关文档,发现这些方法是在老的 OpenSSL 中存在的,首先先安装老版本:
$ sudo pacman -S openssl-1.0
使用软链接的方式,更改默认库的指向使用老版本即可(若已有软链接,需要先删除),如:
# rm libcrypto.so
# rm libssl.so
# ln -s libcrypto.so.1.0.0 libcrypto.so
# ln -s libssl.so.1.0.0 libssl.so
在 Arch 下编译 OpenWRT cmcurl 问题与解决方案的更多相关文章
- debian下编译openwrt固件
参考文章:Ubuntu下编译OpenWRT固件 我买的路由器是RG100A-AA,采用了bcm63xx系列的芯片. 下载openwrt源码: svn co svn://svn.openwrt.org/ ...
- (七)ubuntu下编译openwrt内核的环境配置
首先安装基本开发环境: sudo apt-get install ssh vim samba tftp nfs 安装编译openwrt须要的包: 解压openwrt包编译出错: Build depen ...
- mac osx 下编译 OpenWrt
默认的文件系统hfs大小写不敏感.新建一个磁盘镜像文件并合式化为hfs+, 然后挂载到系统中. hdiutil create -size 20g -fs "Case-sensitive HF ...
- Ubuntu12.10编译openwrt遇到的错误
由于Openwrt有很多工具是要先编译的,在Ubuntu12.10平台下编译openwrt时就遇到了下面这样的错误:elf.cpp: In static member function 'static ...
- Windows下编译vpx获得各个项目VS2010解决方案的步骤
最近研究了一下几种常见的视频编码器:x264,x265,vpx.本文简单记录一下它们的编译方法. x264,x265,vpx这三个开源的视频编码器可以说是当今“最火”的视频编码器.x264现在占据着H ...
- centos6.8下搭建编译openwrt的环境
1. 安装必要软件 su root yum install zlib-devel zlib-static -y 2. 编译openwrt 请参考这里
- 转:小白编译openwrt固件教程
原文地址 编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合.因为我发现很多编译教程没有说明如何更改flash相关配置. 安装ubuntu, ...
- Android 环境下编译FFmpeg
Android 环境下编译FFmpeg 开发环境:Ubuntu 12.04.2 LTS , android-sdk-linux, android-ndk-r8e 一 .X264 编译 1. X2 ...
- ubuntu14.04下编译安装ambari-2.4.2.0
ubuntu14.04下编译安装ambari-2.4.2.0 编译前的准备工作 准备工作有: 系统参数 系统依赖(编译环境) 离线安装包 java环境 maven环境 Nodejs环境 git环境 a ...
随机推荐
- 201521123059 《Java程序设计》第三周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; p ...
- 201521123055 《Java程序设计》第3周学习总结
1. 本章学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...
- postman: 用于网页调试和发送Http请求的chrome插件
一 简介 Postman 是一款功能超级强大的用于发送 HTTP 请求的 Chrome插件 .做web页面开发和测试的人员应该是无人不晓无人不用!其主要特点 特点: 创建 + 测试:创建和发送任何的H ...
- sed命令基础2
我在sed命令基础里面说了一下sed的基础用法,sed还有一些高级用法,由于我也是在学习中,写的博客可能会有想不到的地方,有问题希望大家指出. sed的高级用法主要在于两个空间的使用,模式空间和保持空 ...
- Hibernate映射乱码
1.修改数据库字符集:将数据库默认编码设置为UTF-8 CHARSET=utf8 2.配置Hibernate环境时将数据库URL设置成: jdbc:mysql://localhost:3306/dbN ...
- Android 之json解析
JSON(JavaScript Object Notation) 定义:字符串 键值对 解析方法有JSON,谷歌GSON,阿里巴巴FastJSON(推荐) 一种轻量级的数据交换格式,具有良好的可读和便 ...
- JavaScript一些常用方法一
整理以前的笔记,在学习JavaScript时候,经常会用到一些方法,但是有时忘掉了具体用法,因此记下.方便以后查阅. 这篇博文先说明这些方法的用途: splice().push().pop() .sh ...
- windows10 下安装node失败 出现2502 2503的解决办法
下载node出现以下异常 : the install has encountered an unexpected errer installing this package.this may i ...
- 【个人笔记】《知了堂》node.js简介及创建应用
Node.js是什么? Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架.Node.js自带运行时环境可在Javascript脚本的基础上可以解释和执行 ...
- centos 6.5系统下安装ibus及设置开机自启动
先说一下系统环境:centos 6.5,然后我是以root身份执行的,没有权限的用户参见sudo用法 第1步:查找并安装ibus安装包,命令如下: 找到一行: ibus-pinyin.x86_64 : ...