Я пытаюсь найти инструкции по сборке для сборки libcurl для Android в Windows или Ubuntu. Я нашел много ссылок на эту тему, но все эти датируются несколько лет назад и, похоже, не работают как таковые с последними версиями NDK.
Однако я нашел этот недавно обновленный проект gitlab: https://github.com/gcesarmza/curl-android-ios
Но попытка построить его в соответствии с инструкциями readme приводит к следующей ошибке:
....
jni /../../ openssl / bio_ssl.c: 63: 10: фатальная ошибка: файл 'opensll / crypto.h' не найден
crypto.h находится в папке opensll / crypto /. В общем, кажется, что расположение файлов заголовков во всех исходных файлах openssl неверно. Итак, как правильно решить эту проблему, какую-нибудь настройку make-файла или переменную env?
Вот полный вывод сборки:
perza@perza-Ubuntu64:~/AndroidStudioProjects/cURL/curl-android-ios/curl-compile-scripts$ ./build_Android.sh Configuring for android
no-asm [option] OPENSSL_NO_ASM
no-camellia [option] OPENSSL_NO_CAMELLIA (skip dir)
no-cast [option] OPENSSL_NO_CAST (skip dir)
no-ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128 (skip dir)
no-gmp [default] OPENSSL_NO_GMP (skip dir)
no-idea [option] OPENSSL_NO_IDEA (skip dir)
no-jpake [experimental] OPENSSL_NO_JPAKE (skip dir)
no-krb5 [krb5-flavor not specified] OPENSSL_NO_KRB5
no-libunbound [experimental] OPENSSL_NO_LIBUNBOUND (skip dir)
no-md2 [default] OPENSSL_NO_MD2 (skip dir)
no-rc5 [default] OPENSSL_NO_RC5 (skip dir)
no-rfc3779 [default] OPENSSL_NO_RFC3779 (skip dir)
no-sctp [default] OPENSSL_NO_SCTP (skip dir)
no-shared [option]
no-ssl-trace [default] OPENSSL_NO_SSL_TRACE (skip dir)
no-ssl2 [default] OPENSSL_NO_SSL2 (skip dir)
no-store [experimental] OPENSSL_NO_STORE (skip dir)
no-unit-test [default] OPENSSL_NO_UNIT_TEST (skip dir)
no-weak-ssl-ciphers [default] OPENSSL_NO_WEAK_SSL_CIPHERS (skip dir)
no-whirpool [option] OPENSSL_NO_WHIRPOOL (skip dir)
no-zlib [default]
no-zlib-dynamic [default]
IsMK1MF=0
CC =gcc
CFLAG =-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -mandroid -I$(ANDROID_DEV)/include -B$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall
EX_LIBS =-ldl
CPUID_OBJ =mem_clr.o
BN_ASM =bn_asm.o
EC_ASM =
DES_ENC =des_enc.o fcrypt_b.o
AES_ENC =aes_core.o aes_cbc.o
BF_ENC =bf_enc.o
CAST_ENC =c_enc.o
RC4_ENC =rc4_enc.o rc4_skey.o
RC5_ENC =rc5_enc.o
MD5_OBJ_ASM =
SHA1_OBJ_ASM =
RMD160_OBJ_ASM=
CMLL_ENC =camellia.o cmll_misc.o cmll_cbc.o
MODES_OBJ =
ENGINES_OBJ =
PROCESSOR =
RANLIB =/usr/bin/ranlib
ARFLAGS =
PERL =/usr/bin/perl
THIRTY_TWO_BIT mode
DES_UNROLL used
DES_INT used
BN_LLONG mode
RC4 uses uchar
RC4_CHUNK is unsigned long
BF_PTR used
sh: 1: make: not found
make: Entering directory `/home/perza/AndroidStudioProjects/cURL/curl-android-ios/curl-compile-scripts'
[arm64-v8a] Compile : ssl <= bio_ssl.c
jni/../../openssl/ssl/bio_ssl.c:63:10: fatal error: 'openssl/crypto.h' file not found
#include <openssl/crypto.h>
^~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [obj/local/arm64-v8a/objs/ssl/__/__/openssl/ssl/bio_ssl.o] Error 1
make: Leaving directory `/home/perza/AndroidStudioProjects/cURL/curl-android-ios/curl-compile-scripts'
Error building the libssl and libcrypto
perza@perza-Ubuntu64:~/AndroidStudioProjects/cURL/curl-android-ios/curl-compile-scripts$
br, perza