diff options
Diffstat (limited to 'lfs-12.1-sysv/chapter08/gmp.html')
-rw-r--r-- | lfs-12.1-sysv/chapter08/gmp.html | 268 |
1 files changed, 268 insertions, 0 deletions
diff --git a/lfs-12.1-sysv/chapter08/gmp.html b/lfs-12.1-sysv/chapter08/gmp.html new file mode 100644 index 0000000..9718745 --- /dev/null +++ b/lfs-12.1-sysv/chapter08/gmp.html @@ -0,0 +1,268 @@ +<!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> + 8.20. GMP-6.3.0 + </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> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="binutils.html" title= + "Binutils-2.42">Пред.</a> + <p> + Binutils-2.42 + </p> + </li> + <li class="next"> + <a accesskey="n" href="mpfr.html" title="MPFR-4.2.1">След.</a> + <p> + MPFR-4.2.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.1">Начало</a> + </li> + </ul> + </div> + <h1 class="sect1"> + <a id="ch-system-gmp" name="ch-system-gmp"></a>8.20. GMP-6.3.0 + </h1> + <div class="wrap" lang="ru" xml:lang="ru"> + <div class="package" lang="ru" xml:lang="ru"> + <p> + Пакет GMP содержит математические библиотеки. Они содержат полезные + функции для арифметики с произвольной точностью. + </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">54 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="ru" xml:lang="ru"> + <h2 class="sect2"> + 8.20.1. Установка пакета GMP + </h2> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Если вы выполняете сборку для 32-разрядной архитектуры x86, но + ваш процессор, способен выполнять 64-разрядный код, <span class= + "emphasis"><em>и</em></span> вы указали в переменных окружения + <code class="envar">CFLAGS</code>, скрипт configure попытается + выполнить настройку для 64-разрядной системы и завершится + ошибкой. Чтобы избежать этого, необходимо вызвать команду + configure с приведенным ниже параметром + </p> + <pre class="userinput"><kbd class="command"><em class= + "parameter"><code>ABI=32</code></em> ./configure ...</kbd></pre> + </div> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Настройки GMP по умолчанию собирают библиотеки, оптимизированные + для процессора хоста. Если требуются библиотеки, подходящие для + процессоров с меньшей производительностью, чем у процессора + хоста, можно собрать общие библиотеки, добавив параметр + <code class="option">--host=none-linux-gnu</code> в команде + <span class="command"><strong>configure</strong></span>. + </p> + </div> + <p> + Подготовьте GMP к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --enable-cxx \ + --disable-static \ + --docdir=/usr/share/doc/gmp-6.3.0</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение новых параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-cxx</code></em></span> + </dt> + <dd> + <p> + Этот параметр включает поддержку C++ + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--docdir=/usr/share/doc/gmp-6.3.0</code></em></span> + </dt> + <dd> + <p> + Эта переменная указывает местоположение для документации. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет и сгенерируйте HTML-документацию: + </p> + <pre class="userinput"><kbd class="command">make +make html</kbd></pre> + <div class="admon important"> + <img alt="[Важно]" src="../images/important.png" /> + <h3> + Важно + </h3> + <p> + Набор тестов для GMP в этом разделе считается критически важным. + Ни в коем случае не пропускайте его. + </p> + </div> + <p> + Проверьте результаты: + </p> + <pre class="userinput"><kbd class= + "command">make check 2>&1 | tee gmp-check-log</kbd></pre> + <div class="admon caution"> + <img alt="[Внимание]" src="../images/caution.png" /> + <h3> + Внимание + </h3> + <p> + Код в GMP сильно оптимизирован для процессора, на котором он + собран. Иногда код, определяющий процессор, неверно определяет + возможности системы, и в тестах или других приложениях, + использующих библиотеки gmp, возникают ошибки с сообщением + <code class="computeroutput">Illegal instruction</code>. В этом + случае gmp следует переконфигурировать с параметром <code class= + "option">--host=none-linux-gnu</code> и пересобрать. + </p> + </div> + <p> + Убедитесь, что все 199 тестов в наборе пройдены. Проверьте + результат, выполнив следующую команду: + </p> + <pre class="userinput"><kbd class= + "command">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</kbd></pre> + <p> + Установите пакет и его документацию: + </p> + <pre class="userinput"><kbd class="command">make install +make install-html</kbd></pre> + </div> + <div class="content" lang="ru" xml:lang="ru"> + <h2 class="sect2"> + <a id="contents-gmp" name="contents-gmp"></a>8.20.2. Содержимое + пакета GMP + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libgmp.so и libgmpxx.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/doc/gmp-6.3.0</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="libgmp" name="libgmp"></a><span class= + "term"><code class="filename">libgmp</code></span> + </p> + </td> + <td> + <p> + Содержит точные математические функции + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libgmpxx" name="libgmpxx"></a><span class= + "term"><code class="filename">libgmpxx</code></span> + </p> + </td> + <td> + <p> + Содержит точные математические функции C++ + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="binutils.html" title= + "Binutils-2.42">Пред.</a> + <p> + Binutils-2.42 + </p> + </li> + <li class="next"> + <a accesskey="n" href="mpfr.html" title="MPFR-4.2.1">След.</a> + <p> + MPFR-4.2.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.1">Начало</a> + </li> + </ul> + </div> + </body> +</html> |