phoenixbk
@phoenixbk

Как исправить ошибку при кросс-компиляция wireshark для android aarch64?

Я пытаюсь кросс-компилировать (для aarch64, Android) wireshark. Все зависимости успешно скомпилированы, но при компиляции wireshark возникает следующая ошибка:
ld: error: can't create dynamic relocation R_AARCH64_ABS64 against symbol: _gcry_camellia_arm_tables in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
>>> defined in /opt/android/aarch64-linux-android26/lib/libgcrypt.a(camellia-aarch64.o)
>>> referenced by camellia-aarch64.o:(_gcry_camellia_arm_encrypt_block) in archive /opt/android/aarch64-linux-android26/lib/libgcrypt.a

Опция -fPIC для компиляции библиотеки libgcrypt задана. Я пробовал применить патч, как указано здесь, но это не помогло. Компилировал на основе скрипта в этом репозитории.
Изменены переменные окружения для aarch64:
export TARGET=aarch64-linux-android
export ARCH=arm64
export TOOLCHAIN=${TARGET}
export HOST=${TOOLCHAIN}
export ABI=arm64-v8a

Версия Wireshark: 3.4.0
Версия Android NDK: r15c
Версия ОС: Ubuntu 20.04.4 LTS

Как это можно исправить? Спасибо!
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Zerg89
Стоит учитывать что андроид это урезанный линукс система, и не факт что это должно работать полноценно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы