8.19. GMP-6.2.1

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

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

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

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

Примечание

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

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

Примечание

Настройки GMP по умолчанию собирают библиотеки, оптимизированные для процессора хоста. Если требуются библиотеки, подходящие для процессоров с меньшей производительностью, чем у процессора хоста, можно собрать общие библиотеки, выполнив следующие команды:

cp -v configfsf.guess config.guess
cp -v configfsf.sub   config.sub

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

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

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

--enable-cxx

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

--docdir=/usr/share/doc/gmp-6.2.1

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

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

make
make html
[Важно]

Важно

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

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

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

Внимание

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

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

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.2.1

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

libgmp

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

libgmpxx

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