O pacote GMP contém bibliotecas matemáticas. Essas tem funções úteis para aritmética de precisão arbitrária.
Se você estiver construindo para x86 de 32 bits, mas tem uma CPU
que seja capaz de executar código de 64 bits e você especificou CFLAGS
no ambiente, [então] o script configure
tentará configurar para 64 bits e falhará. Impeça isso invocando
o comando do configure abaixo com
ABI=32
./configure ...
As configurações padrão do GMP produzem bibliotecas otimizadas para o processador do anfitrião. Se bibliotecas adequadas para processadores menos capazes que a CPU do anfitrião forem desejadas, [então] bibliotecas genéricas podem ser criadas executando o seguinte:
cp -v configfsf.guess config.guess cp -v configfsf.sub config.sub
Prepare GMP para compilação:
./configure --prefix=/usr \ --enable-cxx \ --disable-static \ --docdir=/usr/share/doc/gmp-6.2.1
O significado das novas opções do configure:
--enable-cxx
Esse parâmetro habilita suporte a C++
--docdir=/usr/share/doc/gmp-6.2.1
Essa variável especifica o lugar correto para a documentação.
Compile o pacote e gere a documentação HTML:
make make html
A suíte de teste para o GMP nesta seção é considerada crítica. Não a pule sob quaisquer circunstâncias.
Teste os resultados:
make check 2>&1 | tee gmp-check-log
O código em gmp é altamente otimizado para o processador onde ele é construído. Ocasionalmente, o código que detecta o processador identifica errado os recursos do sistema e existirão erros nos testes ou em outros aplicativos usando as bibliotecas de gmp com a mensagem "Illegal instruction". Nesse caso, gmp deveria ser reconfigurado com a opção --build=x86_64-pc-linux-gnu e reconstruído.
Certifique-se de que todos os 197 testes na suíte de teste passaram. Verifique os resultados emitindo o seguinte comando:
awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log
Instale o pacote e a documentação dele:
make install make install-html