Я пытаюсь кросс-компилировать пакет extundelete linux для arm. Я хочу запустить его на моем устройстве Android.
Когда я пытаюсь запустить ./configure
, он говорит Can't find ext2fs library
. Я обнаружил, что проблема в extundelete требует библиотеки ext2fs. Эта библиотека входит в пакет e2fsprogs.
Итак, я попытался скомпилировать e2fsprogs. Статическая компиляция невозможна, потому что, похоже, e2fsprogrs требуется --enable-elf-shlibs
для правильного запуска команды make. Я построил e2fsprogrs с командой:
"./configure --host=arm-none-linux-gnueabi" CC=arm-none-linux-gnueabi-gcc --enable-elf-shlibs && make && make install && make install-libs.
Он работает правильно, и я получаю кросс-скомпилированные файлы e2fsprogs. Проблема в том, что библиотеки динамически компилируются, и я не понимаю, как передать их в расширенную кросс-компиляцию, а затем какие архивы мне нужно скопировать на мое устройство Android.
Я думаю, что возможно необходимо связать файлы .so .a, которые я получаю в кросс-компиляции e2fsprogs, но я точно не понимаю, как это сделать.
В одном из моих приключений кросс-компиляции extundelete я получил файл extundelete бинарной руки, но он был скомпилирован динамически и использует общие библиотеки. Я попытался скопировать бинарные файлы и файлы .so из e2fsprogs на мое устройство Android, но оно не работает правильно.
Кто-нибудь может помочь мне понять удивительный мир динамической кросс-компиляции?