source: general/genlib/icu.xml@ 21df254

12.0 12.1 gimp3 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 21df254 was 6c378f6, checked in by Xi Ruoyao <xry111@…>, 13 months ago

icu: Reword major version update note

  • Property mode set to 100644
File size: 15.9 KB
RevLine 
[627a4af]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
[32bd481]7 <!ENTITY icu-download-http
[c6b192c]8 "https://github.com/unicode-org/icu/releases/download/release-&icu-major;-&icu-minor;/icu4c-&icu-major;_&icu-minor;-src.tgz">
[627a4af]9 <!ENTITY icu-download-ftp " ">
[bf3b3e6d]10 <!ENTITY icu-md5sum "b8a4b8cf77f2e2f6e1341eac0aab2fc4">
[aab2a487]11 <!ENTITY icu-size "25 MB">
[bf3b3e6d]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)">
[627a4af]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
[bda3fb1]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>
[627a4af]36
[959d0d2]37 <warning>
38 <para>
[6c378f6]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.
[959d0d2]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
[15445ab]72 &lfs113_checked;
[bd32b6fd]73
[627a4af]74 <bridgehead renderas="sect3">Package Information</bridgehead>
75 <itemizedlist spacing="compact">
76 <listitem>
[bda3fb1]77 <para>
78 Download (HTTP): <ulink url="&icu-download-http;"/>
79 </para>
[627a4af]80 </listitem>
81 <listitem>
[bda3fb1]82 <para>
83 Download (FTP): <ulink url="&icu-download-ftp;"/>
84 </para>
[627a4af]85 </listitem>
86 <listitem>
[bda3fb1]87 <para>
88 Download MD5 sum: &icu-md5sum;
89 </para>
[627a4af]90 </listitem>
91 <listitem>
[bda3fb1]92 <para>
93 Download size: &icu-size;
94 </para>
[627a4af]95 </listitem>
96 <listitem>
[bda3fb1]97 <para>
98 Estimated disk space required: &icu-buildsize;
99 </para>
[627a4af]100 </listitem>
101 <listitem>
[bda3fb1]102 <para>
103 Estimated build time: &icu-time;
104 </para>
[627a4af]105 </listitem>
106 </itemizedlist>
[38290b4]107<!--
[17f72f6]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>
[38290b4]117-->
[d20238fb]118 <bridgehead renderas="sect3">ICU Dependencies</bridgehead>
119
120 <bridgehead renderas="sect4">Optional</bridgehead>
121 <para role="optional">
[d89ea78]122 <xref linkend="llvm"/> (with Clang), and
123 <xref linkend="doxygen"/> (for documentation)
[d20238fb]124 </para>
125
[bda3fb1]126 <para condition="html" role="usernotes">
127 User Notes: <ulink url="&blfs-wiki;/icu"/>
128 </para>
[627a4af]129 </sect2>
130
131 <sect2 role="installation">
132 <title>Installation of ICU</title>
[22e8a2af]133
[4afbfbd]134 <note>
135 <para>
136 This package expands to the directory
137 <filename class='directory'>icu</filename>.
138 </para>
139 </note>
140
[22e8a2af]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>
[38290b4]151<!--
[17f72f6]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>
[38290b4]157-->
[bda3fb1]158 <para>
159 Install <application>ICU</application> by running the following commands:
160 </para>
[627a4af]161
[86f56c1]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-->
[c71d0ce]167<screen><userinput>cd source &amp;&amp;
[55781c2]168
[c71d0ce]169./configure --prefix=/usr &amp;&amp;
[627a4af]170make</userinput></screen>
171
[bda3fb1]172 <para>
173 To test the results, issue: <command>make check</command>.
174 </para>
[627a4af]175
[bda3fb1]176 <para>
177 Now, as the <systemitem class="username">root</systemitem> user:
178 </para>
[627a4af]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>
[bda3fb1]192 <seg>
[55781c2]193 derb, escapesrc, genbrk, genccode, gencfu, gencmn, gencnval,
194 gendict, gennorm2,
[3bc05c57]195 genrb, gensprep, icu-config, icuexportdata, icuinfo, icupkg,
196 makeconv, pkgdata, and uconv
[bda3fb1]197 </seg>
198 <seg>
[55781c2]199 libicudata.so, libicui18n.so, libicuio.so,
[aaa73cfd]200 libicutest.so, libicutu.so, and libicuuc.so
[bda3fb1]201 </seg>
202 <seg>
[355495ce]203 /usr/include/unicode,
[aaa73cfd]204 /usr/lib/icu, and
[355495ce]205 /usr/share/icu
[bda3fb1]206 </seg>
[627a4af]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>
[bda3fb1]218 <para>
[4c24eb0a]219 disassembles a resource bundle
[bda3fb1]220 </para>
[627a4af]221 <indexterm zone="icu derb">
222 <primary sortas="b-derb">derb</primary>
223 </indexterm>
224 </listitem>
225 </varlistentry>
226
[55781c2]227 <varlistentry id="escapesrc">
228 <term><command>escapesrc</command></term>
229 <listitem>
230 <para>
231 converts <quote>\u</quote> escaped characters into unicode
[4c24eb0a]232 characters
[55781c2]233 </para>
234 <indexterm zone="icu escapesrc">
235 <primary sortas="b-escapesrc">escapesrc</primary>
236 </indexterm>
237 </listitem>
238 </varlistentry>
239
[627a4af]240 <varlistentry id="genbrk">
241 <term><command>genbrk</command></term>
242 <listitem>
[bda3fb1]243 <para>
244 compiles ICU break iteration rules source files into binary data
[4c24eb0a]245 files
[bda3fb1]246 </para>
[627a4af]247 <indexterm zone="icu genbrk">
248 <primary sortas="b-genbrk">genbrk</primary>
249 </indexterm>
250 </listitem>
251 </varlistentry>
252
[4abd884]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
[4c24eb0a]258 file
[4abd884]259 </para>
260 <indexterm zone="icu genccode">
261 <primary sortas="b-genccode">genccode</primary>
262 </indexterm>
263 </listitem>
264 </varlistentry>
265
[bda3fb1]266 <varlistentry id="gencfu">
[627a4af]267 <term><command>gencfu</command></term>
268 <listitem>
[bda3fb1]269 <para>
270 reads in Unicode confusable character definitions and writes out the
[4c24eb0a]271 binary data
[bda3fb1]272 </para>
[627a4af]273 <indexterm zone="icu gencfu">
274 <primary sortas="b-gencfu">gencfu</primary>
275 </indexterm>
276 </listitem>
[bda3fb1]277 </varlistentry>
[627a4af]278
[4abd884]279 <varlistentry id="gencmn">
280 <term><command>gencmn</command></term>
281 <listitem>
282 <para>
[4c24eb0a]283 generates an ICU memory-mappable data file
[4abd884]284 </para>
285 <indexterm zone="icu gencmn">
286 <primary sortas="b-gencmn">gencmn</primary>
287 </indexterm>
288 </listitem>
289 </varlistentry>
290
[627a4af]291 <varlistentry id="gencnval">
292 <term><command>gencnval</command></term>
293 <listitem>
[bda3fb1]294 <para>
[4c24eb0a]295 compiles the converter's aliases file
[bda3fb1]296 </para>
[627a4af]297 <indexterm zone="icu gencnval">
298 <primary sortas="b-gencnval">gencnval</primary>
299 </indexterm>
300 </listitem>
301 </varlistentry>
302
[4abd884]303 <varlistentry id="gendict">
304 <term><command>gendict</command></term>
[627a4af]305 <listitem>
[bda3fb1]306 <para>
[4c24eb0a]307 compiles word lists into ICU string trie dictionaries
[bda3fb1]308 </para>
[4abd884]309 <indexterm zone="icu gendict">
310 <primary sortas="b-gendict">gendict</primary>
[627a4af]311 </indexterm>
312 </listitem>
313 </varlistentry>
314
[7e2908c]315 <varlistentry id="gennorm2">
316 <term><command>gennorm2</command></term>
317 <listitem>
318 <para>
[4c24eb0a]319 builds binary data files with Unicode normalization data
[7e2908c]320 </para>
321 <indexterm zone="icu gennorm2">
322 <primary sortas="b-gennorm2">gennorm2</primary>
323 </indexterm>
324 </listitem>
325 </varlistentry>
326
[627a4af]327 <varlistentry id="genrb">
328 <term><command>genrb</command></term>
329 <listitem>
[bda3fb1]330 <para>
[4c24eb0a]331 compiles a resource bundle
[bda3fb1]332 </para>
[627a4af]333 <indexterm zone="icu genrb">
334 <primary sortas="b-genrb">genrb</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
[4abd884]339 <varlistentry id="gensprep">
340 <term><command>gensprep</command></term>
341 <listitem>
342 <para>
[4c24eb0a]343 compiles StringPrep data from filtered RFC 3454 files
[4abd884]344 </para>
345 <indexterm zone="icu gensprep">
346 <primary sortas="b-gensprep">gensprep</primary>
347 </indexterm>
348 </listitem>
349 </varlistentry>
350
[627a4af]351 <varlistentry id="icu-config">
352 <term><command>icu-config</command></term>
353 <listitem>
[bda3fb1]354 <para>
[4c24eb0a]355 outputs ICU build options
[bda3fb1]356 </para>
[627a4af]357 <indexterm zone="icu icu-config">
358 <primary sortas="b-icu-config">icu-config</primary>
359 </indexterm>
360 </listitem>
361 </varlistentry>
362
[bda3fb1]363 <varlistentry id="icuinfo">
364 <term><command>icuinfo</command></term>
365 <listitem>
366 <para>
[4c24eb0a]367 outputs configuration information about the current ICU
[bda3fb1]368 </para>
369 <indexterm zone="icu icuinfo">
370 <primary sortas="b-icuinfo">icuinfo</primary>
371 </indexterm>
372 </listitem>
373 </varlistentry>
374
[4abd884]375 <varlistentry id="icupkg">
376 <term><command>icupkg</command></term>
377 <listitem>
378 <para>
[4c24eb0a]379 extracts or modifies an ICU .dat archive
[4abd884]380 </para>
381 <indexterm zone="icu icupkg">
382 <primary sortas="b-icupkg">icupkg</primary>
383 </indexterm>
384 </listitem>
385 </varlistentry>
386
[627a4af]387 <varlistentry id="makeconv">
388 <term><command>makeconv</command></term>
389 <listitem>
[bda3fb1]390 <para>
[4c24eb0a]391 compiles a converter table
[bda3fb1]392 </para>
[627a4af]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>
[bda3fb1]402 <para>
[4c24eb0a]403 packages data for use by ICU
[bda3fb1]404 </para>
[627a4af]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>
[bda3fb1]414 <para>
[4c24eb0a]415 converts data from one encoding to another
[bda3fb1]416 </para>
[627a4af]417 <indexterm zone="icu uconv">
418 <primary sortas="b-uconv">uconv</primary>
419 </indexterm>
420 </listitem>
421 </varlistentry>
422
423 <varlistentry id="libicudata">
[4abd884]424 <term><filename class="libraryfile">libicudata.so</filename></term>
[627a4af]425 <listitem>
[bda3fb1]426 <para>
[4c24eb0a]427 is the data library
[bda3fb1]428 </para>
[627a4af]429 <indexterm zone="icu libicudata">
[099ebaf]430 <primary sortas="c-libicudata">libicudata.so</primary>
[627a4af]431 </indexterm>
432 </listitem>
433 </varlistentry>
434
435 <varlistentry id="libicui18n">
[4abd884]436 <term><filename class="libraryfile">libicui18n.so</filename></term>
[627a4af]437 <listitem>
[bda3fb1]438 <para>
[4c24eb0a]439 is the internationalization (i18n) library
[bda3fb1]440 </para>
[627a4af]441 <indexterm zone="icu libicui18n">
[099ebaf]442 <primary sortas="c-libicui18n">libicui18n.so</primary>
[627a4af]443 </indexterm>
444 </listitem>
445 </varlistentry>
446
447 <varlistentry id="libicuio">
[4abd884]448 <term><filename class="libraryfile">libicuio.so</filename></term>
[627a4af]449 <listitem>
[bda3fb1]450 <para>
[4c24eb0a]451 is the ICU I/O (unicode stdio) library
[bda3fb1]452 </para>
[627a4af]453 <indexterm zone="icu libicuio">
[099ebaf]454 <primary sortas="c-libicuio">libicuio.so</primary>
[627a4af]455 </indexterm>
456 </listitem>
457 </varlistentry>
458
[22e8a2af]459<!-- <varlistentry id="libicule">
[4abd884]460 <term><filename class="libraryfile">libicule.so</filename></term>
[627a4af]461 <listitem>
[bda3fb1]462 <para>
463 is the layout engine.
464 </para>
[627a4af]465 <indexterm zone="icu libicule">
[099ebaf]466 <primary sortas="c-libicule">libicule.so</primary>
[627a4af]467 </indexterm>
468 </listitem>
469 </varlistentry>
470
471 <varlistentry id="libiculx">
[4abd884]472 <term><filename class="libraryfile">libiculx.so</filename></term>
[627a4af]473 <listitem>
[bda3fb1]474 <para>
475 is the layout extensions engine.
476 </para>
[627a4af]477 <indexterm zone="icu libiculx">
[099ebaf]478 <primary sortas="c-libiculx">libiculx.so</primary>
[627a4af]479 </indexterm>
480 </listitem>
[22e8a2af]481 </varlistentry>-->
[627a4af]482
[bda3fb1]483 <varlistentry id="libicutest">
[4abd884]484 <term><filename class="libraryfile">libicutest.so</filename></term>
[bda3fb1]485 <listitem>
486 <para>
[4c24eb0a]487 is the test library
[bda3fb1]488 </para>
489 <indexterm zone="icu libicutest">
490 <primary sortas="c-libicutest">libicutest.so</primary>
491 </indexterm>
492 </listitem>
493 </varlistentry>
494
[627a4af]495 <varlistentry id="libicutu">
[4abd884]496 <term><filename class="libraryfile">libicutu.so</filename></term>
[627a4af]497 <listitem>
[bda3fb1]498 <para>
[4c24eb0a]499 is the tool utility library
[bda3fb1]500 </para>
[627a4af]501 <indexterm zone="icu libicutu">
[099ebaf]502 <primary sortas="c-libicutu">libicutu.so</primary>
[627a4af]503 </indexterm>
504 </listitem>
505 </varlistentry>
506
507 <varlistentry id="libicuuc">
[4abd884]508 <term><filename class="libraryfile">libicuuc.so</filename></term>
[627a4af]509 <listitem>
[bda3fb1]510 <para>
[4c24eb0a]511 is the common library
[bda3fb1]512 </para>
[627a4af]513 <indexterm zone="icu libicuuc">
[099ebaf]514 <primary sortas="c-libicuuc">libicuuc.so</primary>
[627a4af]515 </indexterm>
516 </listitem>
517 </varlistentry>
[355495ce]518
[627a4af]519 </variablelist>
[355495ce]520
[627a4af]521 </sect2>
[355495ce]522
[627a4af]523</sect1>
Note: See TracBrowser for help on using the repository browser.