summaryrefslogtreecommitdiff
path: root/lfs-12.1-sysv/chapter06/ncurses.html
diff options
context:
space:
mode:
Diffstat (limited to 'lfs-12.1-sysv/chapter06/ncurses.html')
-rw-r--r--lfs-12.1-sysv/chapter06/ncurses.html309
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">Раздел&nbsp;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>