На мой взгляд сборка библиотеки zlib для arm - одна из самых простых сборок (по сравнению с другими библиотеками). Эта библиотека не требует никаких зависимостей, и проблем при её сборке возникать не должно.
Есть уже готовое руководство по кросс-компиляции zlib, но оно мне показалось немного запутанным.Предлагаю вашему вниманию свой вариант сборки библиотеки.
Для самых ленивых к статье прилагается уже собранная библиотека zlib для arm
Исходные данные
Сборка библиотеки zlib выполняется для процессора arm.
Уточню, что библиотека zlib нужна мне для последующей сборки glib2.0, чтобы затем собрать bluez.
Для сборки нужен toolchain. Я использую toolchain, собранный для библиотеки glibc (думаю для uClibc отличий быть не должно)
Директория с бинарниками кросс-компилятора должна находится у вас в переменной PATH. Иными словами компилятор (например arm-unknown-linux-gnueabi-gcc) должен запускаться прямо из текущей директории.
Исходники можно взять здесь.
На момент написания статьи последняя версия была zlib-1.2.5. Именно она и была взята.
Для меня удобней написать отдельный сборочный скрипт (чем запускать команды непосредственно в консоли).
Итак, создаём файл crosscompile.sh.
Добавляем права на запуск (команда chmod +x crosscompile.sh)
К сожалению для библиотеки zlib опция --host не работает, и все переменные приходится прописывать вручную.
Добавляем в файл строки:
export CC="arm-unknown-linux-gnueabi-gcc"
export CPP="arm-unknown-linux-gnueabi-gcc -E"
export AR="arm-unknown-linux-gnueabi-ar"
./configure \
--prefix=$HOME/programs/newArm2/compiled/zlib \
&&make && make install
--prefix это путь, куда будет установлена библиотека zlib. Его надо заменить на свой путь
Сборка
Для сборки достаточно выполнить:
./crosscompile.sh
Собранная библиотека находится в некой папке $HOME/programs/newArm2/compiled/zlib. Чтобы добавить её в вашу будущую систему, необходимо вручную скопировать всё в папку sys-root/usr вашего тулчейна.
Проблем при сборке возникнуть не должно. Если у вас что-то не получилось - оставьте комментарий внизу страницы.
Для удобства выкладываю свою версию уже собранной библиотеки zlib для ARM.
Библиотека была собрана с использованием glibc, при использовании в системе с uClibc работать не будет.
[rokdownload menuitem="93" downloaditem="27" direct_download="false"]Скачать arm-zlib1.2.5[/rokdownload]
Checking for attribute(visib ility) support... Yes.
./ztest3375: 1: ./ztest3375: Syntax error: word unexpected (expecting ")")
Looking for a four-byte integer type... Not found.
Хотя например ncurses все нормально.