Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Linux From Scratch (version 6.8)
Назад Глава 6. Установка программ базовой системы Вперед

6.19. Пакет Ncurses-5.7

В пакете Ncurses находятся библиотеки, предназначенные для управления вводом/выводом на терминал, не зависящие от конкретного терминала.

Приблизительное время сборки: 0,8 SBU

Требуемое дисковое пространство: 35 MB

6.19.1. Установка пакета Ncurses

Подготовьте пакет Ncurses для компиляции:

./configure --prefix=/usr --with-shared --without-debug --enable-widec

Пояснение конфигурационного параметра:

--enable-widec
 

Этот переключатель указывает, что при сборке пакета вместо обычных библиотек (например, libncurses.so.5.7) будут использоваться библиотеки с расширенным набором символов (например, libncursesw.so.5.7). Эти библиотеки с расширенным набором символов могут использоваться как с многобайтовыми локалями, так и с традиционными 8-битовыми локалями, тогда как обычные библиотеки работают только с 8-битовыми локалями. Библиотеки с расширенным набором символов и обычные библиотеки совместимы по исходному коду, но не совместимыми на уровне двоичного кода.

Откомпилируйте пакет:

make

В этом пакете есть набор тестов, но его можно будет запустить только после установки. Тесты находятся в директории test/. Дальнейшие подробности смотрите в этом директории в файле README.

Установите пакет:

make install

Переместите совместно используемые библиотеки в директорий /lib, где они должны находиться:

mv -v /usr/lib/libncursesw.so.5* /lib

Поскольку библиотеки перемещены, одна из символических указывает на несуществующий файл. Пересоздайте ссылку:

ln -sfv ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so

Во многих приложениях все еще предполагается, что компоновщик будет искать библиотеки Ncurses без расширенного набора символов. Трюк для таких приложений состоит в их компоновке с библиотеками с расширенным набором символов с использованием символических ссылок и скриптов компоновщика:

for lib in ncurses form panel menu ; do \
    rm -vf /usr/lib/lib${lib}.so ; \
    echo "INPUT(-l${lib}w)" >/usr/lib/lib${lib}.so ; \
    ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a ; \
done
ln -sfv libncurses++w.a /usr/lib/libncurses++.a

Наконец, убедитесь, что для старых приложений, для которых во время сборки используется -lcurses, при их сборке проблем не возникает:

rm -vf /usr/lib/libcursesw.so
echo "INPUT(-lncursesw)" >/usr/lib/libcursesw.so
ln -sfv libncurses.so /usr/lib/libcurses.so
ln -sfv libncursesw.a /usr/lib/libcursesw.a
ln -sfv libncurses.a /usr/lib/libcurses.a

Если желаете, то установите документацию пакета Ncurses:

mkdir -v       /usr/share/doc/ncurses-5.7
cp -v -R doc/* /usr/share/doc/ncurses-5.7

Замечание

С помощью приведенных выше инструкций не создаются библиотеки Ncurses, не использующие расширенны набор символов, поскольку при компиляции исходных кодов не устанавливается пакет, который должен к ним обращаться. Если вам потребуются эти библиотеки из-за того, что есть некоторое приложение, имеющееся только в двоичном коде и оно должно быть совместимо с системой LSB, соберите пакет снова с помощью следующих команд:

make distclean
./configure --prefix=/usr --with-shared --without-normal \
  --without-debug --without-cxx-binding
make sources libs
cp -av lib/lib*.so.5* /usr/lib

6.19.2. Описание пакета Ncurses

Установленные программы: captoinfo (ссылка на tic), clear, infocmp, infotocap (ссылка на tic), ncursesw5-config, reset (ссылка на tset), tic, toe, tput и tset

Установленные библиотеки: libcursesw.{a,so} (символическая ссылка и скрипт компоновщика для libncursesw.{a,so}), libformw.{a,so}, libmenuw.{a,so}, libncurses++w.a, libncursesw.{a,so}, libpanelw.{a,so} и точно такие же библиотеки без расширенного набора символов, у которых в названиях отсутствует буква "w"

Установленные директории: /usr/share/tabset, /usr/share/terminfo

Краткое описание

captoinfo

Преобразует описание termcap в описание terminfo.

clear

Очищает экран, если это возможно

infocmp

Сравнивает или выдает описания terminfo

infotocap

Преобразует описание terminfo в описание termcap

ncursesw5-config

Предоставляет пакету ncurses конфигурационную информацию

reset

Переинициализация терминала значениями, задаваемыми по умолчанию.

tic

Компилятор записей описаний terminfo, который преобразует файл terminfo из исходного формата в двоичный, который нужен для работы библиотеки ncurses. В файле terminfo находится описание возможностей конкретного терминала.

toe

Выводит список всех доступных типов терминалов, для каждого из которых указывается его имя и приводится описание

tput

Позволяет использовать в командной оболочке настройки, относящиеся к особенностям конкретного терминала; может также использоваться для сброса или инициализации терминала, либо для вывода полного имени терминала

tset

Может использоваться для инициализации терминалов

libcurses

Ссылка на libncurses

libncurses

Содержит функции, отображающие различными способами текст на экране терминала. Хорошим примером использования этих функций является меню, отображаемое командой make menuconfig при настройке ядра

libform

Содержит функции, реализующие формы

libmenu

Содержит функции, реализующие меню

libpanel

Содержит функции, реализующие панели


Предыдущий раздел: Оглавление Следующий раздел:
Пакет Pkg-config-0.25   Пакет Util-linux-2.19