diff options
Diffstat (limited to 'lfs-12.1-sysv/chapter06/ncurses.html')
-rw-r--r-- | lfs-12.1-sysv/chapter06/ncurses.html | 309 |
1 files changed, 0 insertions, 309 deletions
diff --git a/lfs-12.1-sysv/chapter06/ncurses.html b/lfs-12.1-sysv/chapter06/ncurses.html deleted file mode 100644 index 245ff48..0000000 --- a/lfs-12.1-sysv/chapter06/ncurses.html +++ /dev/null @@ -1,309 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> - <title> - 6.3. Ncurses-6.4-20230520 - </title> - <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> - <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> - <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= - "text/css" media="print" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - </head> - <body class="lfs" id="lfs-12.1"> - <div class="navheader"> - <h4> - Линукс с нуля - Версия 12.1 - </h4> - <h3> - Глава 6. Кросс-Компиляция временных инструментов - </h3> - <ul> - <li class="prev"> - <a accesskey="p" href="m4.html" title="M4-1.4.19">Пред.</a> - <p> - M4-1.4.19 - </p> - </li> - <li class="next"> - <a accesskey="n" href="bash.html" title="Bash-5.2.21">След.</a> - <p> - Bash-5.2.21 - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter06.html" title= - "Глава 6. Кросс-Компиляция временных инструментов">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - <h1 class="sect1"> - <a id="ch-tools-ncurses" name="ch-tools-ncurses"></a>6.3. - Ncurses-6.4-20230520 - </h1> - <div class="wrap" lang="ru" xml:lang="ru"> - <div class="package" lang="ru" xml:lang="ru"> - <p> - Пакет Ncurses содержит библиотеки для независимой от терминала - обработки ввода/вывода - </p> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Приблизительное время сборки:</strong> - <span class="segbody">0.3 SBU</span> - </div> - <div class="seg"> - <strong class="segtitle">Требуемое дисковое - пространство:</strong> <span class="segbody">51 MB</span> - </div> - </div> - </div> - </div> - <div class="installation" lang="ru" xml:lang="ru"> - <h2 class="sect2"> - 6.3.1. Установка пакета Ncurses - </h2> - <p> - Во-первых, убедитесь, что <span class= - "command"><strong>gawk</strong></span> найден первым во время - настройки: - </p> - <pre class="userinput"><kbd class= - "command">sed -i s/mawk// configure</kbd></pre> - <p> - Затем выполните следующие команды, чтобы собрать программу - <span class="quote">«<span class="quote">tic</span>»</span> на - хосте сборки: - </p> - <pre class="userinput"><kbd class="command">mkdir build -pushd build - ../configure - make -C include - make -C progs tic -popd</kbd></pre> - <p> - Подготовьте Ncurses к компиляции: - </p> - <pre class="userinput"><kbd class= - "command">./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</kbd></pre> - <div class="variablelist"> - <p class="title"> - <strong>Значение новых параметров настройки:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><em class= - "parameter"><code>--with-manpage-format=normal</code></em></span> - </dt> - <dd> - <p> - Этот аргумент предотвращает установку Ncurses сжатых страниц - руководства, это может произойти, если сам дистрибутив хоста - содержит сжатые страницы руководства. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--with-shared</code></em></span> - </dt> - <dd> - <p> - Этот аргумент позволяет Ncurses собирать и устанавливать - разделяемые библиотеки C. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--without-normal</code></em></span> - </dt> - <dd> - <p> - Этот аргумент предотвращает сборку и установку статических - библиотек C. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--without-debug</code></em></span> - </dt> - <dd> - <p> - Этот аргумент предотвращает сборку и установку отладочных - библиотек. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--with-cxx-shared</code></em></span> - </dt> - <dd> - <p> - Это аргумент позволяет Ncurses собирать и устанавливать общие - привязки C++. А также предотвращает сборку и установку - статических привязок C++. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--without-ada</code></em></span> - </dt> - <dd> - <p> - Этот аргумент гарантирует, что Ncurses будет собран без - поддержки компилятора Ada, который может присутствовать на - хосте, но будет недоступен, как только мы войдем в среду - <span class="command"><strong>chroot</strong></span>. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--disable-stripping</code></em></span> - </dt> - <dd> - <p> - Этот аргумент не позволяет системе сборки использовать - программу <span class="command"><strong>strip</strong></span> - с хоста. Использование инструментов хоста в - кросс-компилируемой программе может привести к сбою. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--enable-widec</code></em></span> - </dt> - <dd> - <p> - Этот аргумент указывает, что необходимо скомпилировать - библиотеки расширенных символов (такие как, <code class= - "filename">libncursesw.so.6.4-20230520</code>) вместо обычных - (таких как, <code class= - "filename">libncurses.so.6.4-20230520</code>). Эти библиотеки - расширенных символов можно использовать как в многобайтовой, - так и традиционной 8-битной локали, в то время как обычные - библиотеки корректно работают только в 8-битных локалях. - Библиотеки расширенных символов и обычные совместимы на - уровне исходного кода, но не совместимы в двоичном. - </p> - </dd> - </dl> - </div> - <p> - Скомпилируйте пакет: - </p> - <pre class="userinput"><kbd class="command">make</kbd></pre> - <p> - Установите пакет: - </p> - <pre class="userinput"><kbd class= - "command">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</kbd></pre> - <div class="variablelist"> - <p class="title"> - <strong>Значение параметров установки:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><em class= - "parameter"><code>TIC_PATH=$(pwd)/build/progs/tic</code></em></span> - </dt> - <dd> - <p> - Нам нужно передать путь до только что собранной программы - <span class="command"><strong>tic</strong></span>, которая - работает на сборочной машине, чтобы база данных терминала - была создана без ошибок. - </p> - </dd> - <dt> - <span class="term"><span class="command"><strong>ln -sv - libncursesw.so - $LFS/usr/lib/libncurses.so</strong></span></span> - </dt> - <dd> - <p> - Библиотека <code class="filename">libncurses.so</code> - необходима для нескольких пакетов, которые мы скоро соберем. - Мы создаем эту символическую ссылку, чтобы использовать - <code class="filename">libncursesw.so</code> в качестве - замены. - </p> - </dd> - <dt> - <span class="term"><span class="command"><strong>sed -e - 's/^#if.*XOPEN.*$/#if 1/' ...</strong></span></span> - </dt> - <dd> - <p> - Заголовочный файл <code class="filename">curses.h</code> - содержит определения различных структур данных Ncurses. С - разными определениями макросов препроцессора могут - использоваться два разных набора определений структуры - данных: 8-битное определение совместимо с <code class= - "filename">libncurses.so</code>, а определение расширенного - набора символов совместимо с <code class= - "filename">libncursesw.so</code> . Поскольку мы используем - <code class="filename">libncursesw.so</code> вместо - <code class="filename">libncurses.so</code>, отредактируйте - заголовочный файл, чтобы он всегда использовал определение - структуры данных расширенного набора символов, совместимое с - <code class="filename">. libncursesw.so</code>. - </p> - </dd> - </dl> - </div> - </div> - <div class="content" lang="ru" xml:lang="ru"> - <p> - Подробная информация об этом пакете находится в <a class="xref" - href="../chapter08/ncurses.html#contents-ncurses" title= - "8.29.2. Содержимое пакета Ncurses">Раздел 8.29.2, «Содержимое - пакета Ncurses.»</a> - </p> - </div> - </div> - <div class="navfooter"> - <ul> - <li class="prev"> - <a accesskey="p" href="m4.html" title="M4-1.4.19">Пред.</a> - <p> - M4-1.4.19 - </p> - </li> - <li class="next"> - <a accesskey="n" href="bash.html" title="Bash-5.2.21">След.</a> - <p> - Bash-5.2.21 - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter06.html" title= - "Глава 6. Кросс-Компиляция временных инструментов">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - </body> -</html> |