%general-entities; ]> ncurses &ncurses-version;
&ncurses-url;
Ncurses-&ncurses-version; Ncurses tools <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../chapter08/ncurses.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> <seg>&ncurses-tmp-sbu;</seg> <seg>&ncurses-tmp-du;</seg> </seglistitem> </segmentedlist> </sect2> <sect2 role="installation"> <title>Установка пакета 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.&ncurses-version;) вместо обычных (таких как, libncurses.so.&ncurses-version;). Эти библиотеки расширенных символов можно использовать как в многобайтовой, так и традиционной 8-битной локали, в то время как обычные библиотеки корректно работают только в 8-битных локалях. Библиотеки расширенных символов и обычные совместимы на уровне исходного кода, но не совместимы в двоичном. Скомпилируйте пакет: make Установите пакет: make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install ln -sv libncursesw.so $LFS/usr/lib/libncurses.so sed -e 's/^#if.*XOPEN.*$/#if 1/' \ -i $LFS/usr/include/curses.h Значение параметров установки: TIC_PATH=$(pwd)/build/progs/tic Нам нужно передать путь до только что собранной программы tic, которая работает на сборочной машине, чтобы база данных терминала была создана без ошибок. ln -sv libncursesw.so $LFS/usr/lib/libncurses.so Библиотека libncurses.so необходима для нескольких пакетов, которые мы скоро соберем. Мы создаем эту символическую ссылку, чтобы использовать libncursesw.so в качестве замены. sed -e 's/^#if.*XOPEN.*$/#if 1/' ... Заголовочный файл curses.h содержит определения различных структур данных Ncurses. С разными определениями макросов препроцессора могут использоваться два разных набора определений структуры данных: 8-битное определение совместимо с libncurses.so, а определение расширенного набора символов совместимо с libncursesw.so . Поскольку мы используем libncursesw.so вместо libncurses.so, отредактируйте заголовочный файл, чтобы он всегда использовал определение структуры данных расширенного набора символов, совместимое с . libncursesw.so. <para>Подробная информация об этом пакете находится в <xref linkend="contents-ncurses" role="."/></para> </sect2> </sect1>