beyondlinuxfromscratch:installedpackages:icu-74.2

Beyond Linux® From Scratch (systemd Edition) - Version 12.1
Chapter 9. General Libraries
이전 위로 / 처음으로 다음
Gspell-1.12.2 Inih-58

국제 유니코드용 컴포넌트(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 종속성

선택 사항

참고
이 패키지는 압축 해제 시 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
    공통 라이브러리입니다.

1)
International Components for Unicode
  • beyondlinuxfromscratch/installedpackages/icu-74.2.txt
  • 마지막으로 수정됨: 2024/05/30 20:06
  • 저자 baecy