ICU-77.1

Introduksjon til ICU

Pakken International Components for Unicode (ICU) er et modent, mye brukt sett med C/C++ biblioteker som gir Unicode og globaliseringsstøtte for programvare. ICU er allment portabel og gir applikasjoner de samme resultatene på alle plattformer.

[Advarsel]

Advarsel

Oppgradere denne pakken til en ny hovedversjon (for eksempel fra 72.1 to 77.1) vil kreve gjenoppbygging av mange andre pakker. Hvis noen pakker som bruker bibliotekene bygget av icu4c-77 gjenoppbygges, vil de bruke de nye bibliotekene, mens nåværende pakker vil bruke de tidligere bibliotekene. Hvis Linux applikasjonslasteren (/usr/lib/ld-linux-x86-64.so.2) bestemmer at både det gamle og det nye biblioteket er nødvendig, og et symbol (navn på data eller funksjon) finnes i begge versjoner av biblioteket, vil alle referanser til symbolet bli løst til versjonen som vises tidligere i bredde-først-sekvensen av avhengighetsgrafen. Dette kan føre til at applikasjonen mislykkes hvis definisjonen av dataene eller oppførselen til funksjonen referert til av symbolet er forskjellig mellom to versjoner. For å unngå problemet, må brukere gjenoppbygge hver pakke som er koblet til et ICU bibliotek så snart som mulig når ICU er oppdatert til en ny hovedversjon.

For å finne ut hvilke eksterne biblioteker som trengs (direkte eller indirekte) av et program eller et bibliotek, kjør:

ldd <application or library> 

eller for å bare se programmer og biblioteker som bruker et bibliotek direkte:

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

Notat

Dette kan ta litt tid å bygge. Gjør gjerne noe annet mens dette bygges.

Installasjon av ICU

[Notat]

Notat

Denne pakken utvides til mappen icu.

Installer ICU ved å kjøre følgende kommandoer:

cd source                                    &&

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

Nå, som root bruker:

make install

lib32 Installasjon av ICU

Installer lib32-ICU ved å kjøre følgende kommandoer:

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

Nå, som root bruker:

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

Parameterforklaringer

[Notat]

Notat

Kjør ./configure --help for en fullstendig liste over alternativer.

Innhold

Installerte Programmer: derb, escapesrc, genbrk, genccode, gencfu, gencmn, gencnval, gendict, gennorm2, genrb, gensprep, icu-config, icuexportdata, icuinfo, icupkg, makeconv, pkgdata, og uconv
Installerte Biblioteker: libicudata, libicui18n, libicuio, libicutest, libicutu, og libicuuc
Installerte Mapper: /usr/include/unicode, /usr/lib/icu, og /usr/share/icu

Korte Beskrivelser

derb

demonterer en ressurspakke

escapesrc

konverterer «\u» escape tegn til Unicode tegn

genbrk

kompilerer kildefiler for ICU brudd i iterasjonsregler til binære datafiler

genccode

genererer C eller plattform spesifikk assemblerkode fra en ICU datafil

gencfu

leser inn Unicode forvirrende tegndefinisjoner og skriver ut binære data

gencmn

genererer en ICU minnetilordnbar datafil

gencnval

kompilerer konverterens aliasfil

gendict

kompilerer ordlister i ICU strengtrieordbøker

gennorm2

bygger binære datafiler med Unicode normaliseringsdata

genrb

kompilerer en ressurspakke

gensprep

kompilerer StringPrep data fra filtrerte RFC 3454 filer

icu-config

skriver ut ICU byggealternativer

icuinfo

sender ut konfigurasjonsinformasjon om gjeldende ICU

icupkg

trekker ut eller endrer et ICU .dat arkiv

makeconv

kompilerer en konverteringstabell

pkgdata

pakker data til bruk av ICU

uconv

konverterer data fra én koding til en annen

libicudata

er databiblioteket

libicui18n

er internasjonaliseringsbiblioteket (i18n)

libicuio

er ICU I/O biblioteket (unicode stdio)

libicutest

er testbiblioteket

libicutu

er verktøybiblioteket

libicuuc

er fellesbiblioteket