Beyond Linux® From Scratch (systemd Edition) - Version 12.1 | ||
---|---|---|
Chapter 9. General Libraries | ||
이전 | 위로 / 처음으로 | 다음 |
Gspell-1.12.2 | Inih-58 |
ICU-74.2
ICU 소개
국제 유니코드용 컴포넌트(ICU)1) 패키지는 소프트웨어 애플리케이션에 유니코드 및 세계화를 지원하는 충분히 테스트되고 널리 사용되는 C/C++ 라이브러리 세트입니다. ICU는 이식성이 뛰어나며 모든 플랫폼에서 애플리케이션에 동일한 결과를 제공합니다.
경고
이 패키지를 새로운 메이저 버전(예: 72.1에서 74.2)으로 업그레이드하려면 다른 많은 패키지를 다시 빌드해야 합니다. icu4c-74에서 빌드한 라이브러리를 사용하는 일부 패키지는 다시 빌드하면 새 라이브러리를 사용하지만 현재 패키지는 이전 라이브러리를 사용합니다. Linux 애플리케이션 로더(/usr/lib/ld-linux-x86-64.so.2
)가 이전 및 새 라이브러리가 모두 필요하다고 판단하고 심볼(데이터 또는 함수 이름)이 두 버전의 라이브러리에 모두 존재하는 경우 심볼에 대한 모든 참조는 종속성 그래프의 폭 우선 순서에서 앞쪽에 나타나는 버전으로 해결됩니다. 따라서 심볼이 참조하는 데이터의 정의 또는 함수의 동작이 두 버전에서 다른 경우 애플리케이션이 실패할 수 있습니다. 이 문제를 방지하려면 ICU가 새로운 메이저 버전으로 업데이트되면 사용자는 가능한 한 빨리 ICU 라이브러리에 연결된 모든 패키지를 다시 빌드해야 합니다.
애플리케이션 또는 라이브러리에 직간접적으로 필요한 외부 라이브러리를 확인하려면 다음 명령을 실행하세요.
ldd <애플리케이션 또는 라이브러리>
또는 직접 필요한 라이브러리만 확인하려면 다음과 같이 실행하세요.
readelf -d <애플리케이션 또는 라이브러리> | grep NEEDED
이 패키지는 LFS 12.1 플랫폼을 사용하여 빌드하고 제대로 작동하는 것으로 알려져 있습니다.
패키지 정보
- 다운로드(HTTP): icu4c-74_2-src.tgz
- MD5 : 94c0b370f43123ea92b146ebea9c709d
- 다운로드 크기: 25MB
- 필요한 예상 디스크 공간: 339MB(테스트용 42MB 추가)
- 예상 빌드 시간: 0.7 SBU(병렬 처리=4 사용, 테스트용 1.5 SBU 추가)
ICU 종속성
선택 사항
- LLVM-17.0.6 Clang 포함
- Doxygen-1.10.0 문서용
ICU 설치
참고
이 패키지는 압축 해제 시 icu
디렉터리로 확장됩니다.
참고
clang++를 사용할 수 있는 경우, 설정에서 이를 테스트했음에도 불구하고 g++가 C++11을 지원하지 않을 수 있다고 오해하여 사용됩니다. g++를 사용하는 경우 config가 끝날 때 불필요한 경고가 표시됩니다. 또한 g++로 빌드하면 표시된 예상 SBU보다 시간이 더 오래 걸립니다.
다음 명령을 실행하여 ICU를 설치합니다.
cd source &&
./configure --prefix=/usr &&
make
결과를 테스트하려면 make check
를 실행합니다.
이제 root 사용자로 설치합니다.
make install
내용
- 설치된 프로그램:
derb, escapesrc, genbrk, genccode, gencfu, gencmn, gencnval, gendict, gennorm2, genrb, gensprep, icu-config, icuexportdata, icuinfo, icupkg, makeconv, pkgdata, 및 uconv - 설치된 라이브러리:
libicudata.so, libicui18n.so, libicuio.so, libicutest.so, libicutu.so 및 libicuuc.so - 설치 디렉터리
/usr/include/unicode, /usr/lib/icu, /usr/share/icu
간단한 설명
- derb
리소스 번들을 분해합니다. - escapesrc
“\u” 이스케이프 문자를 유니코드 문자로 변환한다. - genbrk
ICU 브레이크 반복 규칙 소스 파일을 바이너리 데이터 파일로 컴파일합니다. - genccode
ICU 데이터 파일에서 C 또는 플랫폼별 어셈블리 코드를 생성합니다. - gencfu
유니코드 혼동 가능한 문자 정의를 읽고 바이너리 데이터를 씁니다. - gencmn
ICU 메모리 매핑 가능한 데이터 파일을 생성합니다. - gencnval
변환기의 앨리어스 파일을 컴파일합니다. - gendict
단어 목록을 ICU 문자열 트라이 사전으로 컴파일합니다. - gennorm2
유니코드 정규화 데이터로 바이너리 데이터 파일을 빌드합니다. - genrb
리소스 번들을 컴파일합니다. - gensprep
필터링된 RFC 3454 파일에서 StringPrep 데이터를 컴파일합니다. - icu-config
ICU 빌드 옵션을 출력합니다. - icuinfo
현재 ICU에 대한 구성 정보를 출력합니다. - icupkg
ICU .dat 아카이브를 추출하거나 수정합니다. - makeconv
변환기 테이블을 컴파일합니다 - pkgdata
ICU에서 사용할 데이터를 패키징한다. - uconv
한 인코딩에서 다른 인코딩으로 데이터를 변환합니다. - libicudata.so
데이터 라이브러리 - libicui18n.so
국제화(i18n) 라이브러리입니다. - libicuio.so
ICU I/O(유니코드 입출력) 라이브러리입니다. - libicutest.so
테스트 라이브러리 - libicutu.so
도구 유틸리티 라이브러리 - libicuuc.so
공통 라이브러리입니다.