Как построить локон с помощью boringssl?
Я пытаюсь построить curl с boringssl на Ubuntu 16.04.
Я Boringssl построен в порядке.
С curl 7.53 я настраиваю используя:
./configure --with-ssl=/home/john/dev/boringssl
и вывод говорит "Поддержка SSL: включен (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.
1 ответ
Нет никаких openssl/ui.h
в дереве boringssl ваша сборка явно нашла другой набор включаемых файлов (я полагаю, обычный OpenSSL).
Вот как я строю с помощью boringssl:
построить boringssl
$ HOME / src - это место, где я поместил код в этом примере. Вы можете выбрать где угодно.
$ cd $HOME/src
$ git clone https://boringssl.googlesource.com/boringssl
$ cd boringssl
$ mkdir build
$ cd build
$ cmake ..
$ make
настроить дерево сборки, чтобы быть обнаруженным с помощью конфигурации curl
В корне дерева исходного кода boringssl убедитесь, что lib
и include
реж. lib
dir должен содержать две библиотеки (я делаю их символическими ссылками в директорию сборки). include
dir уже присутствует по умолчанию. Сделать и заполнить lib
как это (команды, выданные в корне дерева исходного кода, а не в build/
подкаталог).
$ mkdir lib
$ cd lib
$ ln -s ../build/ssl/libssl.a
$ ln -s ../build/crypoto/libcrypto.a
настроить локон
LIBS=-lpthread ./configure --with-ssl=$HOME/src/boringssl
(где я указываю на корень дерева boringssl)
убедитесь, что в конце прогона конфигурирования должен быть указан BoringSSL для использования
построить локон
бежать make
в исходном дереве curl
Теперь вы можете установить curl как обычно make install
и т.п.