作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Ubuntu 16.04 上使用boringssl 构建 curl。
我的boringssl建好了。
使用 curl 7.53 我配置使用:
./configure --with-ssl=/home/john/dev/boringssl
make
,我得到错误开始
CC vtls/libcurl_la-openssl.lo
In file included from vtls/openssl.c:86:0:
/usr/include/openssl/ui.h:85:1: error: unknown type name ‘UI’
UI *UI_new(void);
^
/usr/include/openssl/ui.h:86:1: error: unknown type name ‘UI’
UI *UI_new_method(const UI_METHOD *method);
^
/usr/include/openssl/ui.h:86:25: error: unknown type name ‘UI_METHOD’
UI *UI_new_method(const UI_METHOD *method);
^
Makefile:2023: recipe for target 'vtls/libcurl_la-openssl.lo' failed
make[2]: *** [vtls/libcurl_la-openssl.lo] Error 1
make[2]: Leaving directory '/home/john/dev/curl-7.53.0/lib'
Makefile:734: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/john/dev/curl-7.53.0/lib'
Makefile:893: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
/usr/include/openssl/ui.h
当 curl 配置为使用boringssl 构建时,应该使用头文件,似乎这个文件只存在于OpenSSL 中,而不存在于boringssl 中。
最佳答案
没有openssl/ui.h
在boringssl 树中,您的构建清楚地发现了另一组包含文件(我猜是普通的OpenSSL)。
这就是我用boringssl构建的方式:
构建无聊ssl
$HOME/src 是我在此示例中放置代码的位置。你可以选择任何你喜欢的地方。
$ cd $HOME/src
$ git clone https://boringssl.googlesource.com/boringssl
$ cd boringssl
$ mkdir build
$ cd build
$ cmake -DCMAKE_POSITION_INDEPENDENT_CODE=on ..
$ make
设置构建树以被 curl 的配置检测到
lib
和
include
目录
lib
dir 应该包含两个库(我将它们符号链接(symbolic link)到构建目录中)。
include
默认情况下,dir 已经存在。制作和填充
lib
像这样(在源树根中发出的命令,而不是在
build/
子目录中)。
$ mkdir lib
$ cd lib
$ ln -s ../build/ssl/libssl.a
$ ln -s ../build/crypto/libcrypto.a
配置 curl
LIBS=-lpthread ./configure --with-ssl=$HOME/src/boringssl
(我指出了boringssl树的根)
make
在 curl 源代码树中
make install
正常安装 curl等等
关于curl - 如何用boringssl构建curl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42391088/
我是一名优秀的程序员,十分优秀!