Кросс-компиляция zlib для ARM - PullRequest
0 голосов
/ 21 декабря 2018

Я пробую кросс-компиляцию zlib для arm-poky-linux-gnueabi, но у меня возникает ошибка при запуске make:

...:~/zlib-1.2.11$ AR=$HOST-ar CC=$HOST-gcc RANLIB=$HOST-ranlib ./configure --prefix=$HOME/zlibARM 
Checking for shared library support... 
Building shared library libz.so.1.2.11 with arm-poky-linux-gnueabi-gcc. 
Checking for size_t... Yes. 
Checking for off64_t... Yes. 
Checking for fseeko... Yes. 
Checking for strerror... Yes. 
Checking for unistd.h... Yes. 
Checking for stdarg.h... Yes. 
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf(). 
Checking for vsnprintf() in stdio.h... Yes. 
Checking for return value of vsnprintf()... Yes. 
Checking for attribute(visibility) support... Yes.

...:~/zlib-1.2.11$ make
arm-poky-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o example.o test/example.c
make: execvp: arm-poky-linux-gnueabi-gcc : Trop de niveaux de liens symboliques
Makefile:147: recipe for target 'example.o' failed
make: *** [example.o] Error 127

Можете ли вы мне помочь?

1 Ответ

0 голосов
/ 28 июля 2019

Я знаю, что этому посту уже 7 месяцев, но я смог успешно выполнить кросс-компиляцию zlib для ARM (на MacOS) с помощью следующей команды настройки:

CHOST=arm \
CC=<PATH_TO_CROSS_GCC> \
AR=<PATH_TO_CROSS_AR> \
RANLIB=<PATH_TO_CROSS_RANLIB> \
./configure \
--prefix=<INSTALL_PATH>

Где PATH_TO_CROSS_GCC,PATH_TO_CROSS_AR и PATH_TO_CROSS_GCC указывают на инструменты кросс-компиляции (в моем случае я использую crosstool-NG).

То, что в итоге заставило меня работать, это указание CHOST=arm, которое фактически вызвало егоиспользуйте указанное ar.

Надеюсь, это поможет кому-то в дальнейшем.

...