Android NDK кросс-компиляция: выходная библиотека всегда x64_64

Эксперты,

Я пытаюсь кросс-компилировать OpenSSL в Ubuntu для другой архитектуры Android, но кажется, что я всегда получаю X64-64 в качестве выходной библиотеки.

Я следую инструкциям здесь: https://wiki.openssl.org/index.php/Android

В тесте ниже я настроил setenv-android.sh для x86. Я пробовал и другие архитектуры. После того, как OpenSSL сделает все, я проверяю выходной файл.so и каждый раз получаю X64-64.

Любые намеки, что я могу делать не так?

Спасибо!

export ANDROID_NDK_ROOT=$HOME/scratch/android-ndk-r16b
export ANDROID_SDK_ROOT=$HOME/scratch/android-sdk-linux

setenv-android.sh
_ANDROID_NDK="android-ndk-r16b"
_ANDROID_EABI="x86-4.9"
_ANDROID_ARCH=arch-x86
_ANDROID_API="android-21"

./setenv-android.sh
Error: FIPS_SIG does not specify incore module. Please edit this script.
ANDROID_NDK_ROOT: /home/builder/scratch/android-ndk-r16b
ANDROID_ARCH: arch-x86
ANDROID_EABI: x86-4.9
ANDROID_API: android-21
ANDROID_SYSROOT: /home/builder/scratch/android-ndk-r16b/platforms/android-21/arch-x86
ANDROID_TOOLCHAIN: /home/builder/scratch/android-ndk-r16b/toolchains/x86-4.9/prebuilt/linux-x86_64/bin
FIPS_SIG:
CROSS_COMPILE: i686-linux-android-
ANDROID_DEV: /home/builder/scratch/android-ndk-r16b/platforms/android-21/arch-x86/usr

cd openssl-1.0.2o
config shared no-ssl2 no-ssl3 no-comp no-hw no-engine --openssldir=/usr/local/ssl/android-21/

make depend
make all
...

readelf -h ./libcrypto.so.1.0.0 | grep -i 'class\|machine' | head -2
  Class:                             ELF64
  Machine:                           Advanced Micro Devices X86-64

0 ответов

Другие вопросы по тегам