From c4d43142181a45b849a15cf8ec5ebe61cea33897 Mon Sep 17 00:00:00 2001 From: Sn4il Date: Wed, 10 Jan 2024 16:57:29 +0300 Subject: LFS 12 mirror --- lfs-12.0-sysv/chapter08/ncurses.html | 554 +++++++++++++++++++++++++++++++++++ 1 file changed, 554 insertions(+) create mode 100644 lfs-12.0-sysv/chapter08/ncurses.html (limited to 'lfs-12.0-sysv/chapter08/ncurses.html') diff --git a/lfs-12.0-sysv/chapter08/ncurses.html b/lfs-12.0-sysv/chapter08/ncurses.html new file mode 100644 index 0000000..c56e5dc --- /dev/null +++ b/lfs-12.0-sysv/chapter08/ncurses.html @@ -0,0 +1,554 @@ + + + + + + 8.29. Ncurses-6.4 + + + + + + + + +
+

+ 8.29. + Ncurses-6.4 +

+
+

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

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

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

+

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

+
./configure --prefix=/usr           \
+            --mandir=/usr/share/man \
+            --with-shared           \
+            --without-debug         \
+            --without-normal        \
+            --with-cxx-shared       \
+            --enable-pc-files       \
+            --enable-widec          \
+            --with-pkg-config-libdir=/usr/lib/pkgconfig
+
+

+ Значение новых параметров настройки: +

+
+
+ --with-shared +
+
+

+ Этот параметр позволяет Ncurses собирать и устанавливать + общие библиотеки C. +

+
+
+ --without-normal +
+
+

+ Этот параметр отключает сборку и установку большинства + статических библиотек C. +

+
+
+ --without-debug +
+
+

+ Этот параметр предотвращает сборку и установку отладочных + библиотек. +

+
+
+ --with-cxx-shared +
+
+

+ Это аргумент позволяет Ncurses собирать и устанавливать общие + привязки C++. А также предотвращает сборку и установку + статических привязок C++. +

+
+
+ --enable-pc-files +
+
+

+ Этот параметр генерирует и устанавливает файлы .pc для + pkg-config. +

+
+
+ --enable-widec +
+
+

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

+
+
+
+

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

+
make
+

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

+

+ Установка этого пакета приведет к перезаписи libncursesw.so.6.4. Это может привести к сбою + процесса оболочки, который использует код и данные из файла + библиотеки. Установите пакет с помощью DESTDIR и правильно замените файл библиотеки с + помощью команды install. +

+
make DESTDIR=$PWD/dest install
+install -vm755 dest/usr/lib/libncursesw.so.6.4 /usr/lib
+rm -v  dest/usr/lib/libncursesw.so.6.4
+cp -av dest/* /
+

+ Многие приложения ожидают, что компоновщик сможет найти библиотеки + 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}w.pc        /usr/lib/pkgconfig/${lib}.pc
+done
+

+ Убедитесь, что старые приложения, которым нужна -lcurses для сборки, собираются правильно: +

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

+ По желанию установите документацию Ncurses: +

+
cp -v -R doc -T /usr/share/doc/ncurses-6.4
+
+ [Примечание] +

+ Примечание +

+

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

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

+ 8.29.2. + Содержимое пакета Ncurses +

+
+
+
+ Установленные программы: + captoinfo (ссылка на tic), clear, + infocmp, infotocap (ссылка на tic), ncursesw6-config, reset + (ссылка на tset), tabs, tic, toe, tput, и tset +
+
+ Установленные библиотеки: + libcursesw.so (символическая ссылка и + скрипт компоновщика на libncursesw.so), libformw.so, + libmenuw.so, libncursesw.so, libncurses++w.so, libpanelw.so, и + их аналоги без "w" в именах библиотек. +
+
+ Созданные каталоги: + /usr/share/tabset, /usr/share/terminfo, и + /usr/share/doc/ncurses-6.4 +
+
+
+
+

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ captoinfo +

+
+

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

+
+

+ clear +

+
+

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

+
+

+ infocmp +

+
+

+ Сравнивает или показывает описания terminfo +

+
+

+ infotocap +

+
+

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

+
+

+ ncursesw6-config +

+
+

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

+
+

+ reset +

+
+

+ Повторно инициализирует терминал со значениями по + умолчанию +

+
+

+ tabs +

+
+

+ Очищает и устанавливает размеры табуляции в терминале +

+
+

+ tic +

+
+

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

+
+

+ toe +

+
+

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

+
+

+ tput +

+
+

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

+
+

+ tset +

+
+

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

+
+

+ libcursesw +

+
+

+ Ссылка на libncursesw +

+
+

+ libncursesw +

+
+

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

+
+

+ libncurses++w +

+
+

+ Содержит функции связывания C++ с другими библиотеками в + пакете +

+
+

+ libformw +

+
+

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

+
+

+ libmenuw +

+
+

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

+
+

+ libpanelw +

+
+

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

+
+
+
+
+ + + -- cgit v1.2.3