Linux From Scratch - Version 12.1-systemd | ||
---|---|---|
Chapter 8. Installing Basic System Software | ||
이전 | 위로 / 처음으로 | 다음 |
Binutils-2.42 | MPFR-4.2.1 |
8.20. GMP-6.3.0
8.20.1. GMP 설치
참고
32비트 x86용으로 빌드하고 있지만 64비트 코드를 실행할 수 있는 CPU가 있고 환경에 CFLAGS를 지정한 경우 구성 스크립트가 64비트용으로 구성을 시도하지만 실패합니다. 이 문제를 방지하려면 아래 configure 명령을 다음과 같이 수정하세요.
ABI=32 ./configure ...
참고
GMP의 기본 설정은 호스트 프로세서에 최적화된 라이브러리를 생성합니다. 호스트의 CPU보다 성능이 낮은 프로세서에 적합한 라이브러리가 필요한 경우 configure 명령에 –host=none-linux-gnu
옵션을 추가하여 일반 라이브러리를 생성할 수 있습니다.
GMP 컴파일을 준비합니다.
./configure --prefix=/usr \
--enable-cxx \
--disable-static \
--docdir=/usr/share/doc/gmp-6.3.0
configure 옵션 설명
- –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
메시지와 함께 오류가 발생할 수 있습니다. 이 경우 –host=none-linux-gnu
옵션을 사용하여 gmp를 재구성하고 다시 빌드해야 합니다.
테스트 스위트에서 최소 199개의 테스트가 통과되었는지 확인하세요. 다음과 같이 결과를 확인합니다1).
awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log
패키지와 HTML 문서를 설치합니다.
make install
make install-html
8.20.2. GMP 패키지 구성
- 설치된 라이브러리:
libgmp.so, libgmpxx.so - 설치된 디렉토리
/usr/share/doc/gmp-6.3.0
간략한 설명
- libgmp
정밀 수학 함수를 포함합니다. - libgmpxx
C++ 정밀 수학 함수를 포함합니다.