icu-76.1

Introduction to ICU

The International Components for Unicode (ICU) package is a mature, widely used set of C/C++ libraries providing Unicode and Globalization support for software applications. ICU is widely portable and gives applications the same results on all platforms.

[Warning]

Warning

Upgrading this package to a new major version (for example, from 72.1 to 76.1) will require rebuilding many other packages. If some packages that use the libraries built by icu4c-76 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 between 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 programs and libraries that directly use a library:

readelf -d  <application or library> | grep NEEDED

Installation of ICU

[Note]

Note

This package expands to the directory icu.

Install ICU by running the following commands:

cd source                                    &&

./configure --prefix=/usr                    &&
make

To test the results, issue: make check.

Now, as the root user:

make install

32-bit Installation of ICU

First clean the directory:

make clean

Install lib32-ICU by running the following commands:

CC="gcc -m32" CXX="g++ -m32"         \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
./configure --prefix=/usr --libdir=/usr/lib32 --host=i686-pc-linux-gnu &&
make

To test the results, issue: make check.

Now, as the root user:

make DESTDIR=$PWD/DESTDIR install     &&
cp -Rv DESTDIR/usr/lib32/* /usr/lib32 &&
rm -rf DESTDIR                        &&
ldconfig

Contents

Installed Programs: derb, escapesrc, genbrk, genccode, gencfu, gencmn, gencnval, gendict, gennorm2, genrb, gensprep, icu-config, icuexportdata, icuinfo, icupkg, makeconv, pkgdata, and uconv
Installed Libraries: libicudata.so, libicui18n.so, libicuio.so, libicutest.so, libicutu.so, and libicuuc.so
Installed Directories: /usr/include/unicode, /usr/lib/icu, and /usr/share/icu

Short Descriptions

derb

disassembles a resource bundle

escapesrc

converts \u escaped characters into unicode characters

genbrk

compiles ICU break iteration rules source files into binary data files

genccode

generates C or platform specific assembly code from an ICU data file

gencfu

reads in Unicode confusable character definitions and writes out the binary data

gencmn

generates an ICU memory-mappable data file

gencnval

compiles the converter's aliases file

gendict

compiles word lists into ICU string trie dictionaries

gennorm2

builds binary data files with Unicode normalization data

genrb

compiles a resource bundle

gensprep

compiles StringPrep data from filtered RFC 3454 files

icu-config

outputs ICU build options

icuinfo

outputs configuration information about the current ICU

icupkg

extracts or modifies an ICU .dat archive

makeconv

compiles a converter table

pkgdata

packages data for use by ICU

uconv

converts data from one encoding to another

libicudata.so

is the data library

libicui18n.so

is the internationalization (i18n) library

libicuio.so

is the ICU I/O (unicode stdio) library

libicutest.so

is the test library

libicutu.so

is the tool utility library

libicuuc.so

is the common library