Пакет 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