ICU-74.1

ICU の概要

ICU (International Components for Unicode) パッケージは広く活用されている C/C++ ライブラリであり、アプリケーションに対しての Unicode と国際化サポートを提供します。 ICU は可搬性に優れ、あらゆるプラットフォームにて同一の処理結果を実現します。

[警告]

警告

Upgrading this package to a new major version (for example, from 72.1 to 74.1) will require rebuilding of many other packages. If some packages that use the libraries built by icu4c-74 are rebuilt, they will use the new libraries while current packages will use the previous libraries. If the Linux application loader (/usr/lib/ld-linux-x86-64.so.2) determines that both the old and new libraries are needed, and a symbol (name of data or function) exists in both versions of the library, all references to the symbol will be resolved to the version appearing earlier in the breadth-first sequence of the dependency graph. This may result in the application failing if the definition of the data or the behavior of the function referred by the symbol differs in two versions. To avoid the issue, users will need to rebuild every package linked to an ICU library as soon as possible once ICU is updated to a new major version.

To determine what external libraries are needed (directly or indirectly) by an application or a library, run:

ldd <application or library> 

or to see only the directly needed libraries:

readelf -d  <application or library> | grep NEEDED
[注記]

注記

LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS 開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。

パッケージ情報

ICU の依存パッケージ

任意

LLVM-17.0.6 (Clang がビルドされたもの), Doxygen-1.9.8 (ドキュメント生成時)

ICU のインストール

[注記]

注記

This package expands to the directory icu.

[注記]

注記

clang++ が利用可能であれば用いられます。 ただしこれは g++ が C++11 に対応していないとの思い込みによるものであり、configure がテストしているにもかかわらず発生します。 g++ が用いられるときには configure 処理の最後に不要な警告メッセージが出力されます。 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

リソースバンドル (resource bundle) をディスアセンブルします。

escapesrc

converts \u escaped characters into unicode characters

genbrk

ICU の break iteration rules のソースファイルをバイナリデータファイルにコンパイルします。

genccode

ICU データファイルから C 言語コード、あるいは特定のアセンブリ言語コードを生成します。

gencfu

Unicode にて混同を生じ易い文字 (confusable character) の定義を読み込んで、バイナリデータを出力します。

gencmn

ICU のメモリマッピングデータファイルを生成します。

gencnval

変換エイリアスファイル (converters aliases file) をコンパイルします。

gendict

ワードリスト (word list) を ICU の compact trie 辞書 へコンパイルします。

gennorm2

Unicode 標準データによりバイナリデータファイルを生成します。

genrb

リソースバンドル (resource bundle) をコンパイルします。

gensprep

フィルタリングされた RFC 3454 ファイルから StringPrep データを収集します。

icu-config

ICU のビルドオプションを表示します。

icuinfo

ICU に対しての設定情報を表示します。

icupkg

ICU の .dat アーカイブを抽出または修正します。

makeconv

コンバーターテーブル (converter table) をコンパイルします。

pkgdata

ICU により用いられるパッケージデータ。

uconv

1つのエンコーディングからなるデータを他のエンコーディングに変換します。

libicudata.so

データライブラリ。

libicui18n.so

国際化 (i18n) ライブラリ。

libicuio.so

ICU I/O (ユニコード標準) ライブラリ。

libicutest.so

テストライブラリ。

libicutu.so

ツールユーティリティライブラリ。

libicuuc.so

共通ライブラリ。