Здравствуйте. Есть цель собрать ltrace, чтобы она работала на Android 7.1.2 (ARMv7). Пытаюсь сделать кросскомпиляцию под ARM на host машине debian 10 x86_64 вот такими командами: $autoreconf -i $./configure –build x86_64-pc-linux-gnu –host=arm-none-linux-gnueabi –target=arm-none-linux-gnueabi LDFLAGS=«-static» CC=arm-linux-gnueabihf-gcc –disable-maintainer-mode
Все это падает с такими словами: checking for elf.h… yes checking gelf.h usability… yes checking gelf.h presence… yes checking for gelf.h… yes checking for elf_begin in -lelf… no configure: error: *** libelf not found on your system
Немного погуглив понял, что для сборки нужны библиотеки из elfutils.
Отсюда два вопроса:
-
Правилно я понимаю, что для решения проблема нужно отложить сборку ltrace и сначала аналогичными командами собать elfutils для ARMv7? Потом уже при сборке ltrace указывать на пути к elf под ARMv7? Или нужно как то специальным образом править configure.ac, чтобы оба исходника собирались одновременно?
-
Я понял, что в configure.ac есть макрос, который проверяет есть ли в библиотеке elf функция elf_begin AC_CHECK_LIB([elf], [elf_begin], [libelf_LIBS=«-lelf»], [AC_MSG_ERROR([*** libelf not found on your system])]
Отсюда вопрос. Как можно добавить вывод путей по которым он делает поиск библиотеки elf? Как я понимаю он сейчас делает поиск по библиотекам host системы, которые собраны для x86_64.