Введение
На мой взгляд сборка библиотеки zlib для arm - одна из самых простых сборок (по сравнению с другими библиотеками). Эта библиотека не требует никаких зависимостей, и проблем при её сборке возникать не должно.
Есть уже готовое руководство по кросс-компиляции zlib, но оно мне показалось немного запутанным.Предлагаю вашему вниманию свой вариант сборки библиотеки.
Для самых ленивых к статье прилагается уже собранная библиотека zlib для arm
Исходные данные
Сборка библиотеки zlib выполняется для процессора arm.
Уточню, что библиотека zlib нужна мне для последующей сборки glib2.0, чтобы затем собрать bluez.
Для сборки нужен toolchain. Я использую toolchain, собранный для библиотеки glibc (думаю для uClibc отличий быть не должно)
Директория с бинарниками кросс-компилятора должна находится у вас в переменной PATH. Иными словами компилятор (например arm-unknown-linux-gnueabi-gcc) должен запускаться прямо из текущей директории.
Где взять исходники библиотеки zlib
Исходники можно взять здесь.
На момент написания статьи последняя версия была 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
Для удобства выкладываю свою версию уже собранной библиотеки 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 все нормально.