linuxfromscratch:12.1:090-gmp-6.3.0

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
linuxfromscratch:12.1:090-gmp-6.3.0 [2024/05/18 16:47] – 만듦 - 바깥 편집 127.0.0.1linuxfromscratch:12.1:090-gmp-6.3.0 [2024/06/15 11:34] (현재) – [8.20.1. GMP 설치] baecy
줄 1: 줄 1:
 +^  Linux From Scratch - Version 12.1-systemd  ^^^
 +^  Chapter 8. Installing Basic System Software  ^^^
 +|[[.:089-binutils-2.42|이전]]  |  [[.:08-installing_basic_system_software|위로]] / [[.:12.1|처음으로]]  |  [[.:091-mpfr-4.2.1|다음]]|
  
 +|Binutils-2.42  |  MPFR-4.2.1|
 +
 +----
 +
 +===== 8.20. GMP-6.3.0 =====
 +
 +GMP 패키지에는 연산 라이브러리가 포함되어 있습니다. 여기에는 [[wp>
 +Arbitrary-precision arithmetic|임의 정밀도 연산]]을 위한 유용한 함수가 포함되어 있습니다.
 +
 +  * **빌드 시간:** 0.3 SBU 
 +  * **디스크 공간:** 54 MB
 +
 +----
 +
 +==== 8.20.1. GMP 설치 ====
 +
 +<WRAP info center round 90%>
 +**참고** \\
 +32비트 x86용으로 빌드하고 있지만 64비트 코드를 실행할 수 있는 CPU가 있고 환경에 CFLAGS를 지정한 경우 구성 스크립트가 64비트용으로 구성을 시도하지만 실패합니다. 이 문제를 방지하려면 아래 configure 명령을 다음과 같이 수정하세요.
 +
 +<code bash>
 +ABI=32 ./configure ...
 +</code>
 +</WRAP>
 +
 +<WRAP info center round 90%>
 +**참고** \\ 
 +GMP의 기본 설정은 호스트 프로세서에 최적화된 라이브러리를 생성합니다. 호스트의 CPU보다 성능이 낮은 프로세서에 적합한 라이브러리가 필요한 경우 **configure** 명령에 ''--host=none-linux-gnu'' 옵션을 추가하여 일반 라이브러리를 생성할 수 있습니다.
 +</WRAP>
 +
 +GMP 컴파일을 준비합니다.
 +
 +<code bash>
 +./configure --prefix=/usr    \
 +            --enable-cxx     \
 +            --disable-static \
 +            --docdir=/usr/share/doc/gmp-6.3.0
 +</code>
 +
 +=== configure 옵션 설명 ===
 +
 +  * //--enable-cxx// \\ C++ 지원을 활성화합니다.
 +  * //--docdir=/usr/share/doc/gmp-6.3.0// \\ 문서의 올바른 위치를 지정합니다.
 +
 +패키지를 컴파일하고 HTML 문서를 생성합니다.
 +
 +<code bash>
 +make
 +make html
 +</code>
 +
 +<WRAP important center round 90%>
 +**중요** \\
 +GMP에 대한 테스트 스위트는 매우 중요합니다. \\ 어떤 상황에서도 건너뛰지 마세요.
 +</WRAP>
 +
 +컴파일 결과를 테스트합니다.
 +
 +<code bash>
 +make check 2>&1 | tee gmp-check-log
 +</code>
 +
 +<WRAP important center round 90%>
 +**주의** \\
 +gmp의 코드는 빌드된 프로세서에 맞게 고도로 최적화되어 있습니다. 간혹 프로세서를 감지하는 코드가 시스템 기능을 잘못 인식하여 gmp 라이브러리를 사용하는 테스트 또는 기타 애플리케이션에서 ''Illegal instruction'' 메시지와 함께 오류가 발생할 수 있습니다. 이 경우 ''--host=none-linux-gnu'' 옵션을 사용하여 gmp를 재구성하고 다시 빌드해야 합니다.
 +</WRAP>
 +
 +테스트 스위트에서 최소 199개의 테스트가 통과되었는지 확인하세요. 다음과 같이 결과를 확인합니다((이어서 설치하는 MPFR, MPC에서도 동일하게 테스트 합니다.)).
 +
 +<code bash>
 +awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log
 +</code>
 +
 +패키지와 HTML 문서를 설치합니다.
 +
 +<code bash>
 +make install
 +make install-html
 +</code>
 +
 +----
 +
 +==== 8.20.2. GMP 패키지 구성 ====
 +
 +  * **설치된 라이브러리:** \\ libgmp.so, libgmpxx.so
 +  * **설치된 디렉토리** \\ /usr/share/doc/gmp-6.3.0
 +
 +=== 간략한 설명===
 +
 +  * libgmp \\ 정밀 수학 함수를 포함합니다.
 +  * libgmpxx \\ C++ 정밀 수학 함수를 포함합니다.
  • linuxfromscratch/12.1/090-gmp-6.3.0.1716050855.txt.gz
  • 마지막으로 수정됨: 2024/05/18 16:47
  • 저자 127.0.0.1