source: general/genlib/icu.xml

trunk
Last change on this file was 06373ad, checked in by Bruce Dubbs <bdubbs@…>, 35 hours ago

Update to icu-75.1.

  • Property mode set to 100644
File size: 15.8 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY icu-download-http
8 "https://github.com/unicode-org/icu/releases/download/release-&icu-major;-&icu-minor;/icu4c-&icu-major;_&icu-minor;-src.tgz">
9 <!ENTITY icu-download-ftp " ">
10 <!ENTITY icu-md5sum "a83c1499e508f73ddbc60002f84ea42a">
11 <!ENTITY icu-size "25 MB">
12 <!ENTITY icu-buildsize "341 MB (add 45 MB for tests)">
13 <!ENTITY icu-time "0.7 SBU (Using parallelism=4; add 2.0 SBU for tests)">
14]>
15
16<sect1 id="icu" xreflabel="ICU-&icu-version;">
17 <?dbhtml filename="icu.html"?>
18
19
20 <title>icu-&icu-version;</title>
21
22 <indexterm zone="icu">
23 <primary sortas="a-icu">icu</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to ICU</title>
28
29 <para>
30 The <application>International Components for Unicode</application> (ICU)
31 package is a mature, widely used set of C/C++ libraries providing Unicode
32 and Globalization support for software applications.
33 <application>ICU</application> is widely portable and gives applications
34 the same results on all platforms.
35 </para>
36
37 <warning>
38 <para>
39 Upgrading this package to a new major version (for example, from
40 72.1 to &icu-version;) will require rebuilding of many other
41 packages. If some packages that use the libraries built by
42 icu4c-&icu-major; are rebuilt, they will use the new libraries while
43 current packages will use the previous libraries. If the Linux
44 application loader
45 (<filename class='libraryfile'>/usr/lib/ld-linux-x86-64.so.2</filename>)
46 determines that both the old and new libraries are needed, and a
47 symbol (name of data or function) exists in both versions of the
48 library, all references to the symbol will be resolved to the
49 version appearing earlier in the breadth-first sequence of the
50 dependency graph. This may result in the application failing if
51 the definition of the data or the behavior of the function referred
52 by the symbol differs in two versions. To avoid the issue, users
53 will need to rebuild every package linked to an ICU library as soon
54 as possible once ICU is updated to a new major version.
55 </para>
56
57 <para>
58 To determine what external libraries are needed (directly or indirectly)
59 by an application or a library, run:
60 </para>
61
62<screen><userinput>ldd &lt;application or library&gt; </userinput></screen>
63
64 <para>
65 or to see only the directly needed libraries:
66 </para>
67
68<screen><userinput>readelf -d &lt;application or library&gt; | grep NEEDED</userinput></screen>
69
70 </warning>
71
72 &lfs121_checked;
73
74 <bridgehead renderas="sect3">Package Information</bridgehead>
75 <itemizedlist spacing="compact">
76 <listitem>
77 <para>
78 Download (HTTP): <ulink url="&icu-download-http;"/>
79 </para>
80 </listitem>
81 <listitem>
82 <para>
83 Download (FTP): <ulink url="&icu-download-ftp;"/>
84 </para>
85 </listitem>
86 <listitem>
87 <para>
88 Download MD5 sum: &icu-md5sum;
89 </para>
90 </listitem>
91 <listitem>
92 <para>
93 Download size: &icu-size;
94 </para>
95 </listitem>
96 <listitem>
97 <para>
98 Estimated disk space required: &icu-buildsize;
99 </para>
100 </listitem>
101 <listitem>
102 <para>
103 Estimated build time: &icu-time;
104 </para>
105 </listitem>
106 </itemizedlist>
107<!--
108 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
109 <itemizedlist spacing="compact">
110 <listitem>
111 <para>
112 Required patch:
113 <ulink url="&patch-root;/icu4c-&icu-version;-fix_enumeration-1.patch"/>
114 </para>
115 </listitem>
116 </itemizedlist>
117-->
118 <bridgehead renderas="sect3">ICU Dependencies</bridgehead>
119
120 <bridgehead renderas="sect4">Optional</bridgehead>
121 <para role="optional">
122 <xref linkend="llvm"/> (with Clang), and
123 <xref linkend="doxygen"/> (for documentation)
124 </para>
125
126 </sect2>
127
128 <sect2 role="installation">
129 <title>Installation of ICU</title>
130
131 <note>
132 <para>
133 This package expands to the directory
134 <filename class='directory'>icu</filename>.
135 </para>
136 </note>
137
138 <note>
139 <para>
140 If <command>clang++</command> is available, it will be used in the
141 mistaken belief that <command>g++</command> might not support C++11,
142 even though <command>configure</command> has tested for that. If
143 using <command>g++</command> there will be an unnecessary warning at
144 the end of <command>configure</command>. Building with
145 <command>g++</command> also takes longer than the estimated SBU shown.
146 </para>
147 </note>
148<!--
149 <para>
150 First, fix a regression in version 58.1:
151 </para>
152
153<screen><userinput>patch -p1 -i ../icu4c-&icu-version;-fix_enumeration-1.patch</userinput></screen>
154-->
155 <para>
156 Install <application>ICU</application> by running the following commands:
157 </para>
158
159<!-- Review comments at:
160https://chromium.googlesource.com/chromium/src/+/e58fa0ba66272c5f28828b15d06c7e42a9882b3b
161To see if the following prebuild command is appropriate for BLFS:
162sed '/fdef U_CHARSET_I/i#define U_CHARSET_IS_UTF8 1' -i common/unicode/platform.h
163-->
164<screen><userinput>cd source &amp;&amp;
165
166./configure --prefix=/usr &amp;&amp;
167make</userinput></screen>
168
169 <para>
170 To test the results, issue: <command>make check</command>.
171 </para>
172
173 <para>
174 Now, as the <systemitem class="username">root</systemitem> user:
175 </para>
176
177<screen role="root"><userinput>make install</userinput></screen>
178 </sect2>
179
180 <sect2 role="content">
181 <title>Contents</title>
182
183 <segmentedlist>
184 <segtitle>Installed Programs</segtitle>
185 <segtitle>Installed Libraries</segtitle>
186 <segtitle>Installed Directories</segtitle>
187
188 <seglistitem>
189 <seg>
190 derb, escapesrc, genbrk, genccode, gencfu, gencmn, gencnval,
191 gendict, gennorm2,
192 genrb, gensprep, icu-config, icuexportdata, icuinfo, icupkg,
193 makeconv, pkgdata, and uconv
194 </seg>
195 <seg>
196 libicudata.so, libicui18n.so, libicuio.so,
197 libicutest.so, libicutu.so, and libicuuc.so
198 </seg>
199 <seg>
200 /usr/include/unicode,
201 /usr/lib/icu, and
202 /usr/share/icu
203 </seg>
204 </seglistitem>
205 </segmentedlist>
206
207 <variablelist>
208 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
209 <?dbfo list-presentation="list"?>
210 <?dbhtml list-presentation="table"?>
211
212 <varlistentry id="derb">
213 <term><command>derb</command></term>
214 <listitem>
215 <para>
216 disassembles a resource bundle
217 </para>
218 <indexterm zone="icu derb">
219 <primary sortas="b-derb">derb</primary>
220 </indexterm>
221 </listitem>
222 </varlistentry>
223
224 <varlistentry id="escapesrc">
225 <term><command>escapesrc</command></term>
226 <listitem>
227 <para>
228 converts <quote>\u</quote> escaped characters into unicode
229 characters
230 </para>
231 <indexterm zone="icu escapesrc">
232 <primary sortas="b-escapesrc">escapesrc</primary>
233 </indexterm>
234 </listitem>
235 </varlistentry>
236
237 <varlistentry id="genbrk">
238 <term><command>genbrk</command></term>
239 <listitem>
240 <para>
241 compiles ICU break iteration rules source files into binary data
242 files
243 </para>
244 <indexterm zone="icu genbrk">
245 <primary sortas="b-genbrk">genbrk</primary>
246 </indexterm>
247 </listitem>
248 </varlistentry>
249
250 <varlistentry id="genccode">
251 <term><command>genccode</command></term>
252 <listitem>
253 <para>
254 generates C or platform specific assembly code from an ICU data
255 file
256 </para>
257 <indexterm zone="icu genccode">
258 <primary sortas="b-genccode">genccode</primary>
259 </indexterm>
260 </listitem>
261 </varlistentry>
262
263 <varlistentry id="gencfu">
264 <term><command>gencfu</command></term>
265 <listitem>
266 <para>
267 reads in Unicode confusable character definitions and writes out the
268 binary data
269 </para>
270 <indexterm zone="icu gencfu">
271 <primary sortas="b-gencfu">gencfu</primary>
272 </indexterm>
273 </listitem>
274 </varlistentry>
275
276 <varlistentry id="gencmn">
277 <term><command>gencmn</command></term>
278 <listitem>
279 <para>
280 generates an ICU memory-mappable data file
281 </para>
282 <indexterm zone="icu gencmn">
283 <primary sortas="b-gencmn">gencmn</primary>
284 </indexterm>
285 </listitem>
286 </varlistentry>
287
288 <varlistentry id="gencnval">
289 <term><command>gencnval</command></term>
290 <listitem>
291 <para>
292 compiles the converter's aliases file
293 </para>
294 <indexterm zone="icu gencnval">
295 <primary sortas="b-gencnval">gencnval</primary>
296 </indexterm>
297 </listitem>
298 </varlistentry>
299
300 <varlistentry id="gendict">
301 <term><command>gendict</command></term>
302 <listitem>
303 <para>
304 compiles word lists into ICU string trie dictionaries
305 </para>
306 <indexterm zone="icu gendict">
307 <primary sortas="b-gendict">gendict</primary>
308 </indexterm>
309 </listitem>
310 </varlistentry>
311
312 <varlistentry id="gennorm2">
313 <term><command>gennorm2</command></term>
314 <listitem>
315 <para>
316 builds binary data files with Unicode normalization data
317 </para>
318 <indexterm zone="icu gennorm2">
319 <primary sortas="b-gennorm2">gennorm2</primary>
320 </indexterm>
321 </listitem>
322 </varlistentry>
323
324 <varlistentry id="genrb">
325 <term><command>genrb</command></term>
326 <listitem>
327 <para>
328 compiles a resource bundle
329 </para>
330 <indexterm zone="icu genrb">
331 <primary sortas="b-genrb">genrb</primary>
332 </indexterm>
333 </listitem>
334 </varlistentry>
335
336 <varlistentry id="gensprep">
337 <term><command>gensprep</command></term>
338 <listitem>
339 <para>
340 compiles StringPrep data from filtered RFC 3454 files
341 </para>
342 <indexterm zone="icu gensprep">
343 <primary sortas="b-gensprep">gensprep</primary>
344 </indexterm>
345 </listitem>
346 </varlistentry>
347
348 <varlistentry id="icu-config">
349 <term><command>icu-config</command></term>
350 <listitem>
351 <para>
352 outputs ICU build options
353 </para>
354 <indexterm zone="icu icu-config">
355 <primary sortas="b-icu-config">icu-config</primary>
356 </indexterm>
357 </listitem>
358 </varlistentry>
359
360 <varlistentry id="icuinfo">
361 <term><command>icuinfo</command></term>
362 <listitem>
363 <para>
364 outputs configuration information about the current ICU
365 </para>
366 <indexterm zone="icu icuinfo">
367 <primary sortas="b-icuinfo">icuinfo</primary>
368 </indexterm>
369 </listitem>
370 </varlistentry>
371
372 <varlistentry id="icupkg">
373 <term><command>icupkg</command></term>
374 <listitem>
375 <para>
376 extracts or modifies an ICU .dat archive
377 </para>
378 <indexterm zone="icu icupkg">
379 <primary sortas="b-icupkg">icupkg</primary>
380 </indexterm>
381 </listitem>
382 </varlistentry>
383
384 <varlistentry id="makeconv">
385 <term><command>makeconv</command></term>
386 <listitem>
387 <para>
388 compiles a converter table
389 </para>
390 <indexterm zone="icu makeconv">
391 <primary sortas="b-makeconv">makeconv</primary>
392 </indexterm>
393 </listitem>
394 </varlistentry>
395
396 <varlistentry id="pkgdata">
397 <term><command>pkgdata</command></term>
398 <listitem>
399 <para>
400 packages data for use by ICU
401 </para>
402 <indexterm zone="icu pkgdata">
403 <primary sortas="b-pkgdata">pkgdata</primary>
404 </indexterm>
405 </listitem>
406 </varlistentry>
407
408 <varlistentry id="uconv">
409 <term><command>uconv</command></term>
410 <listitem>
411 <para>
412 converts data from one encoding to another
413 </para>
414 <indexterm zone="icu uconv">
415 <primary sortas="b-uconv">uconv</primary>
416 </indexterm>
417 </listitem>
418 </varlistentry>
419
420 <varlistentry id="libicudata">
421 <term><filename class="libraryfile">libicudata.so</filename></term>
422 <listitem>
423 <para>
424 is the data library
425 </para>
426 <indexterm zone="icu libicudata">
427 <primary sortas="c-libicudata">libicudata.so</primary>
428 </indexterm>
429 </listitem>
430 </varlistentry>
431
432 <varlistentry id="libicui18n">
433 <term><filename class="libraryfile">libicui18n.so</filename></term>
434 <listitem>
435 <para>
436 is the internationalization (i18n) library
437 </para>
438 <indexterm zone="icu libicui18n">
439 <primary sortas="c-libicui18n">libicui18n.so</primary>
440 </indexterm>
441 </listitem>
442 </varlistentry>
443
444 <varlistentry id="libicuio">
445 <term><filename class="libraryfile">libicuio.so</filename></term>
446 <listitem>
447 <para>
448 is the ICU I/O (unicode stdio) library
449 </para>
450 <indexterm zone="icu libicuio">
451 <primary sortas="c-libicuio">libicuio.so</primary>
452 </indexterm>
453 </listitem>
454 </varlistentry>
455
456<!-- <varlistentry id="libicule">
457 <term><filename class="libraryfile">libicule.so</filename></term>
458 <listitem>
459 <para>
460 is the layout engine.
461 </para>
462 <indexterm zone="icu libicule">
463 <primary sortas="c-libicule">libicule.so</primary>
464 </indexterm>
465 </listitem>
466 </varlistentry>
467
468 <varlistentry id="libiculx">
469 <term><filename class="libraryfile">libiculx.so</filename></term>
470 <listitem>
471 <para>
472 is the layout extensions engine.
473 </para>
474 <indexterm zone="icu libiculx">
475 <primary sortas="c-libiculx">libiculx.so</primary>
476 </indexterm>
477 </listitem>
478 </varlistentry>-->
479
480 <varlistentry id="libicutest">
481 <term><filename class="libraryfile">libicutest.so</filename></term>
482 <listitem>
483 <para>
484 is the test library
485 </para>
486 <indexterm zone="icu libicutest">
487 <primary sortas="c-libicutest">libicutest.so</primary>
488 </indexterm>
489 </listitem>
490 </varlistentry>
491
492 <varlistentry id="libicutu">
493 <term><filename class="libraryfile">libicutu.so</filename></term>
494 <listitem>
495 <para>
496 is the tool utility library
497 </para>
498 <indexterm zone="icu libicutu">
499 <primary sortas="c-libicutu">libicutu.so</primary>
500 </indexterm>
501 </listitem>
502 </varlistentry>
503
504 <varlistentry id="libicuuc">
505 <term><filename class="libraryfile">libicuuc.so</filename></term>
506 <listitem>
507 <para>
508 is the common library
509 </para>
510 <indexterm zone="icu libicuuc">
511 <primary sortas="c-libicuuc">libicuuc.so</primary>
512 </indexterm>
513 </listitem>
514 </varlistentry>
515
516 </variablelist>
517
518 </sect2>
519
520</sect1>
Note: See TracBrowser for help on using the repository browser.