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/gmp.html | 268 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 268 insertions(+) create mode 100644 lfs-12.0-sysv/chapter08/gmp.html (limited to 'lfs-12.0-sysv/chapter08/gmp.html') diff --git a/lfs-12.0-sysv/chapter08/gmp.html b/lfs-12.0-sysv/chapter08/gmp.html new file mode 100644 index 0000000..7c1e03d --- /dev/null +++ b/lfs-12.0-sysv/chapter08/gmp.html @@ -0,0 +1,268 @@ + + + + + + 8.19. GMP-6.3.0 + + + + + + + + +
+

+ 8.19. GMP-6.3.0 +

+
+

+ Пакет GMP содержит математические библиотеки. Они содержат полезные + функции для арифметики с произвольной точностью. +

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

+ 8.19.1. Установка пакета GMP +

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

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

+

+ Если вы выполняете сборку для 32-разрядной архитектуры x86, но + ваш процессор, способен выполнять 64-разрядный код, и вы указали в переменных окружения + CFLAGS, скрипт configure попытается + выполнить настройку для 64-разрядной системы и завершится + ошибкой. Чтобы избежать этого, необходимо вызвать команду + configure с приведенным ниже параметром +

+
ABI=32 ./configure ...
+
+
+ [Примечание] +

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

+

+ Настройки GMP по умолчанию собирают библиотеки, оптимизированные + для процессора хоста. Если требуются библиотеки, подходящие для + процессоров с меньшей производительностью, чем у процессора + хоста, можно собрать общие библиотеки, добавив параметр + --host=none-linux-gnu в команде + configure. +

+
+

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

+
./configure --prefix=/usr    \
+            --enable-cxx     \
+            --disable-static \
+            --docdir=/usr/share/doc/gmp-6.3.0
+
+

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

+
+
+ --enable-cxx +
+
+

+ Этот параметр включает поддержку C++ +

+
+
+ --docdir=/usr/share/doc/gmp-6.3.0 +
+
+

+ Эта переменная указывает местоположение для документации. +

+
+
+
+

+ Скомпилируйте пакет и сгенерируйте HTML-документацию: +

+
make
+make html
+
+ [Важно] +

+ Важно +

+

+ Набор тестов для GMP в этом разделе считается критически важным. + Ни в коем случае не пропускайте его. +

+
+

+ Проверьте результаты: +

+
make check 2>&1 | tee gmp-check-log
+
+ [Внимание] +

+ Внимание +

+

+ Код в GMP сильно оптимизирован для процессора, на котором он + собран. Иногда код, определяющий процессор, неверно определяет + возможности системы, и в тестах или других приложениях, + использующих библиотеки gmp, возникают ошибки с сообщением + "Illegal instruction". В этом случае gmp следует + переконфигурировать с параметром --host=none-linux-gnu и пересобрать. +

+
+

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

+
awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log
+

+ Установите пакет и его документацию: +

+
make install
+make install-html
+
+
+

+ 8.19.2. Содержимое + пакета GMP +

+
+
+
+ Установленные библиотеки: + libgmp.so и libgmpxx.so +
+
+ Созданные каталоги: + /usr/share/doc/gmp-6.3.0 +
+
+
+
+

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

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

+ libgmp +

+
+

+ Содержит точные математические функции +

+
+

+ libgmpxx +

+
+

+ Содержит точные математические функции C++ +

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