source: general/genlib/icu.xml@ 6c378f6

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 6c378f6 was 6c378f6, checked in by Xi Ruoyao <xry111@…>, 12 months ago

icu: Reword major version update note

  • Property mode set to 100644
File size: 15.9 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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 "b8a4b8cf77f2e2f6e1341eac0aab2fc4">
11 <!ENTITY icu-size "25 MB">
12 <!ENTITY icu-buildsize "344 MB (add 41 MB for tests)">
13 <!ENTITY icu-time "0.5 SBU (Using parallelism=4; add 1.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 &lfs113_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 <para condition="html" role="usernotes">
127 User Notes: <ulink url="&blfs-wiki;/icu"/>
128 </para>
129 </sect2>
130
131 <sect2 role="installation">
132 <title>Installation of ICU</title>
133
134 <note>
135 <para>
136 This package expands to the directory
137 <filename class='directory'>icu</filename>.
138 </para>
139 </note>
140
141 <note>
142 <para>
143 If <command>clang++</command> is available, it will be used in the
144 mistaken belief that <command>g++</command> might not support C++11,
145 even though <command>configure</command> has tested for that. If
146 using <command>g++</command> there will be an unnecessary warning at
147 the end of <command>configure</command>. Building with
148 <command>g++</command> also takes longer than the estimated SBU shown.
149 </para>
150 </note>
151<!--
152 <para>
153 First, fix a regression in version 58.1:
154 </para>
155
156<screen><userinput>patch -p1 -i ../icu4c-&icu-version;-fix_enumeration-1.patch</userinput></screen>
157-->
158 <para>
159 Install <application>ICU</application> by running the following commands:
160 </para>
161
162<!-- Review comments at:
163https://chromium.googlesource.com/chromium/src/+/e58fa0ba66272c5f28828b15d06c7e42a9882b3b
164To see if the following prebuild command is appropriate for BLFS:
165sed '/fdef U_CHARSET_I/i#define U_CHARSET_IS_UTF8 1' -i common/unicode/platform.h
166-->
167<screen><userinput>cd source &amp;&amp;
168
169./configure --prefix=/usr &amp;&amp;
170make</userinput></screen>
171
172 <para>
173 To test the results, issue: <command>make check</command>.
174 </para>
175
176 <para>
177 Now, as the <systemitem class="username">root</systemitem> user:
178 </para>
179
180<screen role="root"><userinput>make install</userinput></screen>
181 </sect2>
182
183 <sect2 role="content">
184 <title>Contents</title>
185
186 <segmentedlist>
187 <segtitle>Installed Programs</segtitle>
188 <segtitle>Installed Libraries</segtitle>
189 <segtitle>Installed Directories</segtitle>
190
191 <seglistitem>
192 <seg>
193 derb, escapesrc, genbrk, genccode, gencfu, gencmn, gencnval,
194 gendict, gennorm2,
195 genrb, gensprep, icu-config, icuexportdata, icuinfo, icupkg,
196 makeconv, pkgdata, and uconv
197 </seg>
198 <seg>
199 libicudata.so, libicui18n.so, libicuio.so,
200 libicutest.so, libicutu.so, and libicuuc.so
201 </seg>
202 <seg>
203 /usr/include/unicode,
204 /usr/lib/icu, and
205 /usr/share/icu
206 </seg>
207 </seglistitem>
208 </segmentedlist>
209
210 <variablelist>
211 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
212 <?dbfo list-presentation="list"?>
213 <?dbhtml list-presentation="table"?>
214
215 <varlistentry id="derb">
216 <term><command>derb</command></term>
217 <listitem>
218 <para>
219 disassembles a resource bundle
220 </para>
221 <indexterm zone="icu derb">
222 <primary sortas="b-derb">derb</primary>
223 </indexterm>
224 </listitem>
225 </varlistentry>
226
227 <varlistentry id="escapesrc">
228 <term><command>escapesrc</command></term>
229 <listitem>
230 <para>
231 converts <quote>\u</quote> escaped characters into unicode
232 characters
233 </para>
234 <indexterm zone="icu escapesrc">
235 <primary sortas="b-escapesrc">escapesrc</primary>
236 </indexterm>
237 </listitem>
238 </varlistentry>
239
240 <varlistentry id="genbrk">
241 <term><command>genbrk</command></term>
242 <listitem>
243 <para>
244 compiles ICU break iteration rules source files into binary data
245 files
246 </para>
247 <indexterm zone="icu genbrk">
248 <primary sortas="b-genbrk">genbrk</primary>
249 </indexterm>
250 </listitem>
251 </varlistentry>
252
253 <varlistentry id="genccode">
254 <term><command>genccode</command></term>
255 <listitem>
256 <para>
257 generates C or platform specific assembly code from an ICU data
258 file
259 </para>
260 <indexterm zone="icu genccode">
261 <primary sortas="b-genccode">genccode</primary>
262 </indexterm>
263 </listitem>
264 </varlistentry>
265
266 <varlistentry id="gencfu">
267 <term><command>gencfu</command></term>
268 <listitem>
269 <para>
270 reads in Unicode confusable character definitions and writes out the
271 binary data
272 </para>
273 <indexterm zone="icu gencfu">
274 <primary sortas="b-gencfu">gencfu</primary>
275 </indexterm>
276 </listitem>
277 </varlistentry>
278
279 <varlistentry id="gencmn">
280 <term><command>gencmn</command></term>
281 <listitem>
282 <para>
283 generates an ICU memory-mappable data file
284 </para>
285 <indexterm zone="icu gencmn">
286 <primary sortas="b-gencmn">gencmn</primary>
287 </indexterm>
288 </listitem>
289 </varlistentry>
290
291 <varlistentry id="gencnval">
292 <term><command>gencnval</command></term>
293 <listitem>
294 <para>
295 compiles the converter's aliases file
296 </para>
297 <indexterm zone="icu gencnval">
298 <primary sortas="b-gencnval">gencnval</primary>
299 </indexterm>
300 </listitem>
301 </varlistentry>
302
303 <varlistentry id="gendict">
304 <term><command>gendict</command></term>
305 <listitem>
306 <para>
307 compiles word lists into ICU string trie dictionaries
308 </para>
309 <indexterm zone="icu gendict">
310 <primary sortas="b-gendict">gendict</primary>
311 </indexterm>
312 </listitem>
313 </varlistentry>
314
315 <varlistentry id="gennorm2">
316 <term><command>gennorm2</command></term>
317 <listitem>
318 <para>
319 builds binary data files with Unicode normalization data
320 </para>
321 <indexterm zone="icu gennorm2">
322 <primary sortas="b-gennorm2">gennorm2</primary>
323 </indexterm>
324 </listitem>
325 </varlistentry>
326
327 <varlistentry id="genrb">
328 <term><command>genrb</command></term>
329 <listitem>
330 <para>
331 compiles a resource bundle
332 </para>
333 <indexterm zone="icu genrb">
334 <primary sortas="b-genrb">genrb</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
339 <varlistentry id="gensprep">
340 <term><command>gensprep</command></term>
341 <listitem>
342 <para>
343 compiles StringPrep data from filtered RFC 3454 files
344 </para>
345 <indexterm zone="icu gensprep">
346 <primary sortas="b-gensprep">gensprep</primary>
347 </indexterm>
348 </listitem>
349 </varlistentry>
350
351 <varlistentry id="icu-config">
352 <term><command>icu-config</command></term>
353 <listitem>
354 <para>
355 outputs ICU build options
356 </para>
357 <indexterm zone="icu icu-config">
358 <primary sortas="b-icu-config">icu-config</primary>
359 </indexterm>
360 </listitem>
361 </varlistentry>
362
363 <varlistentry id="icuinfo">
364 <term><command>icuinfo</command></term>
365 <listitem>
366 <para>
367 outputs configuration information about the current ICU
368 </para>
369 <indexterm zone="icu icuinfo">
370 <primary sortas="b-icuinfo">icuinfo</primary>
371 </indexterm>
372 </listitem>
373 </varlistentry>
374
375 <varlistentry id="icupkg">
376 <term><command>icupkg</command></term>
377 <listitem>
378 <para>
379 extracts or modifies an ICU .dat archive
380 </para>
381 <indexterm zone="icu icupkg">
382 <primary sortas="b-icupkg">icupkg</primary>
383 </indexterm>
384 </listitem>
385 </varlistentry>
386
387 <varlistentry id="makeconv">
388 <term><command>makeconv</command></term>
389 <listitem>
390 <para>
391 compiles a converter table
392 </para>
393 <indexterm zone="icu makeconv">
394 <primary sortas="b-makeconv">makeconv</primary>
395 </indexterm>
396 </listitem>
397 </varlistentry>
398
399 <varlistentry id="pkgdata">
400 <term><command>pkgdata</command></term>
401 <listitem>
402 <para>
403 packages data for use by ICU
404 </para>
405 <indexterm zone="icu pkgdata">
406 <primary sortas="b-pkgdata">pkgdata</primary>
407 </indexterm>
408 </listitem>
409 </varlistentry>
410
411 <varlistentry id="uconv">
412 <term><command>uconv</command></term>
413 <listitem>
414 <para>
415 converts data from one encoding to another
416 </para>
417 <indexterm zone="icu uconv">
418 <primary sortas="b-uconv">uconv</primary>
419 </indexterm>
420 </listitem>
421 </varlistentry>
422
423 <varlistentry id="libicudata">
424 <term><filename class="libraryfile">libicudata.so</filename></term>
425 <listitem>
426 <para>
427 is the data library
428 </para>
429 <indexterm zone="icu libicudata">
430 <primary sortas="c-libicudata">libicudata.so</primary>
431 </indexterm>
432 </listitem>
433 </varlistentry>
434
435 <varlistentry id="libicui18n">
436 <term><filename class="libraryfile">libicui18n.so</filename></term>
437 <listitem>
438 <para>
439 is the internationalization (i18n) library
440 </para>
441 <indexterm zone="icu libicui18n">
442 <primary sortas="c-libicui18n">libicui18n.so</primary>
443 </indexterm>
444 </listitem>
445 </varlistentry>
446
447 <varlistentry id="libicuio">
448 <term><filename class="libraryfile">libicuio.so</filename></term>
449 <listitem>
450 <para>
451 is the ICU I/O (unicode stdio) library
452 </para>
453 <indexterm zone="icu libicuio">
454 <primary sortas="c-libicuio">libicuio.so</primary>
455 </indexterm>
456 </listitem>
457 </varlistentry>
458
459<!-- <varlistentry id="libicule">
460 <term><filename class="libraryfile">libicule.so</filename></term>
461 <listitem>
462 <para>
463 is the layout engine.
464 </para>
465 <indexterm zone="icu libicule">
466 <primary sortas="c-libicule">libicule.so</primary>
467 </indexterm>
468 </listitem>
469 </varlistentry>
470
471 <varlistentry id="libiculx">
472 <term><filename class="libraryfile">libiculx.so</filename></term>
473 <listitem>
474 <para>
475 is the layout extensions engine.
476 </para>
477 <indexterm zone="icu libiculx">
478 <primary sortas="c-libiculx">libiculx.so</primary>
479 </indexterm>
480 </listitem>
481 </varlistentry>-->
482
483 <varlistentry id="libicutest">
484 <term><filename class="libraryfile">libicutest.so</filename></term>
485 <listitem>
486 <para>
487 is the test library
488 </para>
489 <indexterm zone="icu libicutest">
490 <primary sortas="c-libicutest">libicutest.so</primary>
491 </indexterm>
492 </listitem>
493 </varlistentry>
494
495 <varlistentry id="libicutu">
496 <term><filename class="libraryfile">libicutu.so</filename></term>
497 <listitem>
498 <para>
499 is the tool utility library
500 </para>
501 <indexterm zone="icu libicutu">
502 <primary sortas="c-libicutu">libicutu.so</primary>
503 </indexterm>
504 </listitem>
505 </varlistentry>
506
507 <varlistentry id="libicuuc">
508 <term><filename class="libraryfile">libicuuc.so</filename></term>
509 <listitem>
510 <para>
511 is the common library
512 </para>
513 <indexterm zone="icu libicuuc">
514 <primary sortas="c-libicuuc">libicuuc.so</primary>
515 </indexterm>
516 </listitem>
517 </varlistentry>
518
519 </variablelist>
520
521 </sect2>
522
523</sect1>
Note: See TracBrowser for help on using the repository browser.