%general-entities; ]> gmp &gmp-version;
&gmp-url;
GMP-&gmp-version; GMP <para>Пакет GMP содержит математические библиотеки. Они содержат полезные функции для арифметики с произвольной точностью.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> <seg>&gmp-fin-sbu;</seg> <seg>&gmp-fin-du;</seg> </seglistitem> </segmentedlist> </sect2> <sect2 role="installation"> <title>Установка пакета GMP Если вы выполняете сборку для 32-разрядной архитектуры x86, но ваш процессор, способен выполнять 64-разрядный код, и вы указали в переменных окружения CFLAGS, скрипт configure попытается выполнить настройку для 64-разрядной системы и завершится ошибкой. Чтобы избежать этого, необходимо вызвать команду configure с приведенным ниже параметром ABI=32 ./configure ... Настройки GMP по умолчанию собирают библиотеки, оптимизированные для процессора хоста. Если требуются библиотеки, подходящие для процессоров с меньшей производительностью, чем у процессора хоста, можно собрать общие библиотеки, добавив параметр в команде configure. Подготовьте GMP к компиляции: ./configure --prefix=/usr \ --enable-cxx \ --disable-static \ --docdir=/usr/share/doc/gmp-&gmp-version; Значение новых параметров настройки: --enable-cxx Этот параметр включает поддержку C++ --docdir=/usr/share/doc/gmp-&gmp-version; Эта переменная указывает местоположение для документации. Скомпилируйте пакет и сгенерируйте HTML-документацию: make make html Набор тестов для GMP в этом разделе считается критически важным. Ни в коем случае не пропускайте его. Проверьте результаты: make check 2>&1 | tee gmp-check-log Код в GMP сильно оптимизирован для процессора, на котором он собран. Иногда код, определяющий процессор, неверно определяет возможности системы, и в тестах или других приложениях, использующих библиотеки gmp, возникают ошибки с сообщением "Illegal instruction". В этом случае gmp следует переконфигурировать с параметром и пересобрать. Убедитесь, что все 199 тестов в наборе пройдены. Проверьте результат, выполнив следующую команду: awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log Установите пакет и его документацию: make install make install-html Установка GMP - 32-битная версия Выполните очистку после предыдущей сборки: make distclean Универсальные библиотеки можно создать, выполнив следующие действия: cp -v configfsf.guess config.guess cp -v configfsf.sub config.sub Подготовьте GMP к компиляции: ABI="32" \ CFLAGS="-m32 -O2 -pedantic -fomit-frame-pointer -mtune=generic -march=i686" \ CXXFLAGS="$CFLAGS" \ PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \ ./configure \ --host=i686-pc-linux-gnu \ --prefix=/usr \ --disable-static \ --enable-cxx \ --libdir=/usr/lib32 \ --includedir=/usr/include/m32/gmp Значение новых параметров настройки: --includedir=/usr/include/m32/gmp Некоторые определения в gmp.h различаются в зависимости от архитектуры, но имеют одно и то же имя. Поэтому заголовки должны быть отделены друг от друга. Скомпилируйте пакет: sed -i 's/$(exec_prefix)\/include/$\(includedir\)/' Makefile make Набор тестов для GMP, приведенный в этом разделе, считается критически важным. Не пропускайте его ни при каких обстоятельствах. Проверьте результаты: make check 2>&1 | tee gmp-check-log Убедитесь, что все 199 тестов в наборе пройдены. Проверьте результат, выполнив следующую команду: awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log Установите пакет: make DESTDIR=$PWD/DESTDIR install cp -Rv DESTDIR/usr/lib32/* /usr/lib32 cp -Rv DESTDIR/usr/include/m32/* /usr/include/m32/ rm -rf DESTDIR Установка GMP - mx32 Выполните очистку после предыдущей сборки: make distclean Универсальные библиотеки можно создать, выполнив следующие действия: cp -v configfsf.guess config.guess cp -v configfsf.sub config.sub Подготовьте GMP к компиляции: ABI="x32" \ CFLAGS="-mx32 -O2 -pedantic -fomit-frame-pointer -mtune=generic -march=x86-64" \ CXXFLAGS="$CFLAGS" \ PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \ ./configure \ --host=x86_64-pc-linux-gnux32 \ --prefix=/usr \ --disable-static \ --enable-cxx \ --libdir=/usr/libx32 \ --includedir=/usr/include/mx32/gmp Скомпилируйте пакет: sed -i 's/$(exec_prefix)\/include/$\(includedir\)/' Makefile make Набор тестов для GMP, приведенный в этом разделе, считается критически важным. Не пропускайте его ни при каких обстоятельствах. Проверьте результаты: make check 2>&1 | tee gmp-check-log Убедитесь, что все 199 тестов в наборе пройдены. Проверьте результат, выполнив следующую команду: awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log Установите пакет: make DESTDIR=$PWD/DESTDIR install cp -Rv DESTDIR/usr/libx32/* /usr/libx32 cp -Rv DESTDIR/usr/include/mx32/* /usr/include/mx32/ rm -rf DESTDIR Содержимое пакета GMP Установленные библиотеки Созданные каталоги libgmp.so и libgmpxx.so /usr/share/doc/gmp-&gmp-version; Краткое описание libgmp Содержит точные математические функции libgmp libgmpxx Содержит точные математические функции C++ libgmpxx