6.3. Ncurses-6.3

Пакет Ncurses содержит библиотеки для независимой от терминала обработки ввода/вывода

Приблизительное время сборки: 0.7 SBU
Требуемое дисковое пространство: 50 MB

6.3.1. Установка пакета 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.3) вместо обычных (таких как, libncurses.so.6.3). Эти библиотеки расширенных символов можно использовать как в многобайтовой, так и традиционной 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, способного работать на машине сборки, чтобы база данных терминала была создана без ошибок.

echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so

Библиотека libncurses.so необходима для нескольких пакетов, которые мы скоро соберем. Мы создадим небольшой скрипт компоновщика, как это делается поясняется в Глава 8.

Подробная информация об этом пакете находится в Раздел 8.28.2, «Содержимое пакета Ncurses.»