Я пытаюсь кросс-компилировать cURL для ARM 32. Я могу скомпилировать его без SSL, но мне нужен HTTPS. Чтобы скомпилировать cURL с SSL, вы просто добавляете флаг --with-ssl
к вызову ./configure
, а затем ./make
. Это выглядит в месте по умолчанию. Однако, поскольку я кросс-компиляция, мне также нужно кросс-компиляцию OpenSSL для arm, что я также успешно сделал. У меня проблемы с тем, чтобы заставить их говорить.
Вы можете указать, где вы хотите, чтобы компилятор искал OpenSSL, выполнив --with-ssl=/path/to/OpenSSL
. Какие файлы он там ищет? Я знаю, что это не могут быть просто «статические библиотеки», поэтому вам нужно скомпилировать OpenSSL с shared
в команде Configure.
Когда я это делаю, я получаю .so
файлов в каталоге после запуска make
в OpenSSL. Являются ли файлы .so тем, что ищет компилятор ? Если так, почему cURL не может найти OpenSSL?
Команда OpenSSL configure:
CROSS_COMPILE=arm-linux-gnueabi- ./Configure linux-armv4 \
--prefix=/home/[redacted]/usr/local/openssl \
--openssldir=/home/[redacted]/usr/local/openssl \
shared
Команда настройки cURL:
./configure --host=arm-linux-gnueabi \
--prefix=/home/[redacted]/usr/local \
--with-ssl=/home/[redacted]/usr/local/openssl
После этого просто делаем make
для обоих.