Я бы хотел кросс-компилировать программное обеспечение (libdrm-armada) для архитектуры armhf. У меня есть корневая файловая система (~ / rootfs), которая содержит необходимые общие объекты. Эта файловая система будет перенесена на eMMC и запущена на пользовательском устройстве. Libdrm-armada использует скрипт configure для генерации Makefile. Когда я запускаю ./configure
, он завершается, потому что не может найти общие объекты.
Параметры --with-sysroot
, LD_LIBRARY_PATH
, LIBRARY_PATH
, LIBS
, PKG_CONFIG_LIBDIR
, LIBDRM_LIBS
не работают.
. / Configure --build = x86_64-linux --host = arm-linux \
--prefix = ~ / test \
LDFLAGS = -L ~ / корневой файловой системы / USR / Lib / арм-линукс-gnueabihf \
CFLAGS = -I ~ / rootfs / usr / include \
CC = ~ / НКУ-Линаро-6.3.1-2017.02-x86_64_arm-линукс-gnueabihf / бен / арм-Linux-gnueabihf-GCC
Ошибка, которую я пытаюсь устранить, отображается в config.log как:
...
configure:3269: /home/user/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -I/home/user/rootfs/usr/include -L/home/user/rootfs/usr/lib/arm-linux-gnueabihf conftest.c >&5
/home/user/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.3.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find /lib/arm-linux-gnueabihf/libc.so.6
/home/user/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.3.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find /usr/lib/arm-linux-gnueabihf/libc_nonshared.a
/home/user/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.3.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find /lib/arm-linux-gnueabihf/ld-linux-armhf.so.3
collect2: error: ld returned 1 exit status
...
Как правильно скомпилировать программное обеспечение и установить его в ~ / rootfs?
РЕДАКТИРОВАТЬ (спасибо Basile!):
Вы можете исследовать исходный код, проверив репозиторий git.
git clone git: //git.armlinux.org.uk/~rmk/libdrm-armada.git/;
cd libdrm-armada /;
мкдир м4; autoreconf -f -i;
./configure --build = [.. и так далее ..]
Обратите внимание, что скрипт configure генерирует Makefile. Если вы запустите команду ./configure выше, ошибка сохраняется в файле с именем config.log.