Подробная информация об этом пакете находится в Раздел 8.29.2, «Содержимое пакета Ncurses.»
Пакет Ncurses содержит библиотеки для независимой от терминала обработки ввода/вывода
Во-первых, убедитесь, что gawk найден первым во время настройки:
sed -i s/mawk// configure
Затем выполните следующие команды, чтобы собрать программу «tic» на хосте сборки:
mkdir build pushd build ../configure make -C include make -C progs tic popd
Подготовьте Ncurses к компиляции:
./configure --prefix=/usr \ --host=$LFS_TGT \ --build=$(./config.guess) \ --mandir=/usr/share/man \ --with-manpage-format=normal \ --with-shared \ --without-normal \ --with-cxx-shared \ --without-debug \ --without-ada \ --disable-stripping \ --enable-widec
Значение новых параметров настройки:
--with-manpage-format=normal
Этот аргумент предотвращает установку Ncurses сжатых страниц руководства, это может произойти, если сам дистрибутив хоста содержит сжатые страницы руководства.
--with-shared
Этот аргумент позволяет Ncurses собирать и устанавливать разделяемые библиотеки C.
--without-normal
Этот аргумент предотвращает сборку и установку статических библиотек C.
--without-debug
Этот аргумент предотвращает сборку и установку отладочных библиотек.
--with-cxx-shared
Это аргумент позволяет Ncurses собирать и устанавливать общие привязки C++. А также предотвращает сборку и установку статических привязок C++.
--without-ada
Этот аргумент гарантирует, что Ncurses будет собран без поддержки компилятора Ada, который может присутствовать на хосте, но будет недоступен, как только мы войдем в среду chroot.
--disable-stripping
Этот аргумент не позволяет системе сборки использовать программу strip с хоста. Использование инструментов хоста в кросс-компилируемой программе может привести к сбою.
--enable-widec
Этот аргумент указывает, что необходимо скомпилировать
библиотеки расширенных символов (такие как, libncursesw.so.6.4
) вместо обычных (таких
как, libncurses.so.6.4
). Эти
библиотеки расширенных символов можно использовать как в
многобайтовой, так и традиционной 8-битной локали, в то время
как обычные библиотеки корректно работают только в 8-битных
локалях. Библиотеки расширенных символов и обычные совместимы
на уровне исходного кода, но не совместимы в двоичном.
Скомпилируйте пакет:
make
Установите пакет:
make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so
Значение параметров установки:
TIC_PATH=$(pwd)/build/progs/tic
Нам нужно передать путь до только что собранной программы tic, которая работает на сборочной машине, чтобы база данных терминала была создана без ошибок.
Библиотека libncurses.so
необходима для нескольких пакетов, которые мы скоро соберем.
Мы создадим небольшой скрипт компоновщика, как это делается
поясняется в
Глава 8.
Подробная информация об этом пакете находится в Раздел 8.29.2, «Содержимое пакета Ncurses.»