Como construir caracóis com boringssl?
com curva 7.53 I configurar usando:
./configure --with-ssl=/home/john/dev/boringssl
e o resultado diz " suporte SSL: activo (BoringSSL)" OK.
Mas quando eu make
, recebo erros a começar por
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);
^
e termina com
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
Não tenho a certeza se este cabeçalho /usr/include/openssl/ui.h
deverá ser usado quando o curl estiver configurado para compilar com o boringssl, parece que este ficheiro só existe no OpenSSL, não boringssl.
1 answers
Não há nenhum {[[2]} na árvore boringssl, a sua compilação encontrou claramente outro conjunto de ficheiros include (OpenSSL simples, eu diria).
É assim que eu construo com boringssl:
Construir boringssl
$HOME / src é onde eu coloco o código neste exemplo. Podes escolher onde quiseres.
$ cd $HOME/src
$ git clone https://boringssl.googlesource.com/boringssl
$ cd boringssl
$ mkdir build
$ cd build
$ cmake ..
$ make
Configure a árvore de compilação para ser detectada pela configuração do curl
Na raiz da árvore fonte de boringssl, certifique-se de que há um lib
e um include
dir. The lib
dir deve conter as duas libs (eu faço-as symlinks na pasta de compilação). A pasta include
já está presente por omissão. Make and populate lib
like this (commands issued in the source tree root, not in the build/
subdirectory).
$ mkdir lib
$ cd lib
$ ln -s ../build/ssl/libssl.a
$ ln -s ../build/crypoto/libcrypto.a
Configurar o curl
LIBS=-lpthread ./configure --with-ssl=$HOME/src/boringssl
(onde eu aponto a raiz da árvore de boringssl)
Verifique se, no final da execução do configure, deverá dizer-se que detectou BoringSSL a ser usado
Construir curva
Corre make
na curva árvore de origem
Agora pode instalar o curl normalmente com make install
etc.