Сбой компиляции Busybox — ошибка network / nslookup.c

Я пытаюсь скомпилировать Busybox с помощью Buildroot Cross-Compiler.

Вот шаги:

  • Загрузите Busybox и распакуйте его

    Wget http://www.busybox.net/downloads/busybox-1.22.1.tar.bz2 && tar xjf busybox-1.22.1.tar.bz2

  • Настройте BusyBox и скомпилируйте

    сделать menuconfig

    make CROSS_COMPILE = / usr / local / cross-rpi / usr / bin / arm-linux-

(Путь к кросс-компилятору правильный)

Компиляция возвращает следующую ошибку:

CC      networking/nslookup.o
networking/nslookup.c: In function ‘server_print’:
networking/nslookup.c:123:37: error: ‘struct <anonymous>’ has no member named ‘nsaddrs’
networking/nslookup.c: In function ‘set_default_dns’:
networking/nslookup.c:163:15: error: ‘struct <anonymous>’ has no member named ‘nsaddrs’
make[1]: *** [networking/nslookup.o] Error 1
make: *** [networking] Error 2

Если я не использую кросс-компилятор, все работает нормально.

Есть ли у вас какие-либо рекомендации?

1

Решение

До

сделать menuconfig

Сначала необходимо создать конфигурацию по умолчанию для кросс-компиляции busybox в зависимости от типа используемой платы.

сделать defconfig или же
make vexpress_defconfig // если используемая вами доска похожа на vexpress

Также одним важным аргументом является имя архитектуры. Если вы собираете busybox для ARM, вы должны передать это в качестве аргумента вместе с make

делать ARCH = рука CROSS_COMPILE =

Для более подробной информации о кросс-компиляции вы также можете обратиться
http://wiki.beyondlogic.org/index.php?title=Cross_Compiling_BusyBox_for_ARM

1

Другие решения