source: general/genlib/libxml2.xml@ 552f4356

12.0 12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since 552f4356 was 14891a90, checked in by Xi Ruoyao <xry111@…>, 12 months ago

treewide: More "User Notes" clean up

Remove links to pages w/o real contents.

  • Property mode set to 100644
File size: 8.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 <!-- Also update the download, md5, size entities in libxml2py2.xml -->
8 <!ENTITY libxml2-download-http "https://download.gnome.org/sources/libxml2/2.10/libxml2-&libxml2-version;.tar.xz">
9<!-- <!ENTITY libxml2-download-http "http://xmlsoft.org/sources/libxml2-&libxml2-version;.tar.xz">-->
10 <!ENTITY libxml2-download-ftp " ">
11 <!ENTITY libxml2-md5sum "76808c467a58c31e2dbd511e71d5fd13">
12 <!ENTITY libxml2-size "2.5 MB">
13 <!ENTITY libxml2-buildsize "106 MB (with tests)">
14 <!ENTITY libxml2-time "0.4 SBU (Using parallelism=4; with tests)">
15 <!ENTITY testsuite-version "20130923">
16]>
17
18<sect1 id="libxml2" xreflabel="libxml2-&libxml2-version;">
19 <?dbhtml filename="libxml2.html"?>
20
21
22 <title>libxml2-&libxml2-version;</title>
23
24 <indexterm zone="libxml2">
25 <primary sortas="a-libxml2">libxml2</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to libxml2</title>
30
31 <para>
32 The <application>libxml2</application> package contains libraries
33 and utilities used for parsing XML files.
34 </para>
35
36 &lfs113_checked;
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>
42 Download (HTTP): <ulink url="&libxml2-download-http;"/>
43 </para>
44 </listitem>
45 <listitem>
46 <para>
47 Download (FTP): <ulink url="&libxml2-download-ftp;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download MD5 sum: &libxml2-md5sum;
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download size: &libxml2-size;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Estimated disk space required: &libxml2-buildsize;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated build time: &libxml2-time;
68 </para>
69 </listitem>
70 </itemizedlist>
71
72 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
73 <itemizedlist spacing="compact">
74 <listitem>
75 <para>
76 Optional Test Suite:
77 <ulink url="https://www.w3.org/XML/Test/xmlts&testsuite-version;.tar.gz"/> - This
78 enables <command>make check</command> to do complete testing.
79 </para>
80 </listitem>
81 </itemizedlist>
82
83 <bridgehead renderas="sect3">libxml2 Dependencies</bridgehead>
84<!-- do not advertize python2 here, except in the note below
85 <bridgehead renderas="sect4">Optional</bridgehead>
86 <para role="optional">
87 <xref linkend="python2"/>
88 </para>
89-->
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional">
92 <xref linkend="icu"/> (see below) and
93 <xref linkend="valgrind"/> (may be used in the tests)
94 </para>
95
96 <note>
97 <para>
98 The old <application>Python2</application> module can be built after
99 <filename class="libraryfile">libxml2.so</filename> has been installed,
100 see <xref linkend="libxml2py2"/>.
101 </para>
102 </note>
103
104 </sect2>
105
106 <sect2 role="installation">
107 <title>Installation of libxml2</title>
108
109 <para>
110 Install <application>libxml2</application> by running the following
111 commands:
112 </para>
113
114<screen><userinput>./configure --prefix=/usr \
115 --sysconfdir=/etc \
116 --disable-static \
117 --with-history \
118 PYTHON=/usr/bin/python3 \
119 --docdir=/usr/share/doc/libxml2-&libxml2-version; &amp;&amp;
120make</userinput></screen>
121
122 <para>
123 If you downloaded the test suite, issue the following command:
124 </para>
125
126<screen><userinput>tar xf ../xmlts&testsuite-version;.tar.gz</userinput></screen>
127
128 <para>
129 To test the results, issue: <command>make check &gt; check.log</command>.
130 A summary of the results can be obtained with <command>grep -E
131 '^Total|expected' check.log</command>. If <xref linkend="valgrind"/> is
132 installed and you want to check for memory leaks, replace
133 <command>check</command> with <command>check-valgrind</command>.
134 </para>
135
136 <note>
137 <para>
138 The tests use <ulink url="http://localhost/">http://localhost/</ulink>
139 to test parsing of external entities. If the machine where you run the
140 tests serves as a web site, the tests may hang, depending on the
141 content of the file served. It is therefore recommended to shut down
142 the server during the tests, as the <systemitem
143 class="username">root</systemitem> user:
144 </para>
145
146<screen role="nodump" revision="sysv"><userinput>/etc/init.d/httpd stop</userinput></screen>
147<screen role="nodump" revision="systemd"><userinput>systemctl stop httpd.service</userinput></screen>
148
149 </note>
150
151 <para>
152 Now, as the <systemitem class="username">root</systemitem> user:
153 </para>
154
155<screen role="root"><userinput>make install</userinput></screen>
156 </sect2>
157
158 <sect2 role="commands">
159 <title>Command Explanations</title>
160
161 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
162 href="../../xincludes/static-libraries.xml"/>
163
164 <para>
165 <parameter>--with-history</parameter>: This switch enables
166 <application>Readline</application> support when running
167 <command>xmlcatalog</command> or <command>xmllint</command> in shell mode.
168 </para>
169
170 <para>
171 <parameter>PYTHON=/usr/bin/python3</parameter>: Allows building
172 the libxml2 module with Python3 instead of Python2.
173 </para>
174
175 <para>
176 <option>--with-icu</option>: Add this switch if you have built
177 <xref linkend="icu"/>, for better unicode support.
178 </para>
179
180 <note>
181 <para>
182 If the <option>--with-icu</option> switch is used, the BLFS editors
183 recommend removing unneeded references to the ICU libraries. This
184 will prevent many packages that use libxml2 from unnecessarily linking
185 to the ICU libraries. This, in turn, will prevent the need for
186 rebuilding many packages when upgrading ICU to a new major version.
187 After installing libxml2, as the &root; user, issue:
188 </para>
189
190<screen role="nodump"><userinput>rm -vf /usr/lib/libxml2.la &amp;&amp;
191sed '/libs=/s/xml2.*/xml2"/' -i /usr/bin/xml2-config</userinput></screen>
192 </note>
193
194 </sect2>
195
196 <sect2 role="content">
197 <title>Contents</title>
198
199 <segmentedlist>
200 <segtitle>Installed Programs</segtitle>
201 <segtitle>Installed Libraries</segtitle>
202 <segtitle>Installed Directories</segtitle>
203
204 <seglistitem>
205 <seg>
206 xml2-config,
207 xmlcatalog, and
208 xmllint
209 </seg>
210 <seg>
211 libxml2.so
212 </seg>
213 <seg>
214 /usr/include/libxml2,
215 /usr/lib/cmake/libxml2,
216 /usr/share/doc/libxml2-&libxml2-version;, and
217 /usr/share/gtk-doc/html/libxml2
218 </seg>
219 </seglistitem>
220 </segmentedlist>
221
222 <variablelist>
223 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
224 <?dbfo list-presentation="list"?>
225 <?dbhtml list-presentation="table"?>
226
227 <varlistentry id="xml2-config">
228 <term><command>xml2-config</command></term>
229 <listitem>
230 <para>
231 determines the compile and linker flags that should be used to
232 compile and link programs that use
233 <filename class="libraryfile">libxml2</filename>
234 </para>
235 <indexterm zone="libxml2 xml2-config">
236 <primary sortas="b-xml2-config">xml2-config</primary>
237 </indexterm>
238 </listitem>
239 </varlistentry>
240
241 <varlistentry id="xmlcatalog">
242 <term><command>xmlcatalog</command></term>
243 <listitem>
244 <para>
245 is used to monitor and manipulate XML and SGML catalogs
246 </para>
247 <indexterm zone="libxml2 xmlcatalog">
248 <primary sortas="b-xmlcatalog">xmlcatalog</primary>
249 </indexterm>
250 </listitem>
251 </varlistentry>
252
253 <varlistentry id="xmllint">
254 <term><command>xmllint</command></term>
255 <listitem>
256 <para>
257 parses XML files and outputs reports (based upon options) to detect
258 errors in XML coding
259 </para>
260 <indexterm zone="libxml2 xmllint">
261 <primary sortas="b-xmllint">xmllint</primary>
262 </indexterm>
263 </listitem>
264 </varlistentry>
265
266 <varlistentry id="libxml2-lib">
267 <term><filename class="libraryfile">libxml2.so</filename></term>
268 <listitem>
269 <para>
270 provides functions for programs to parse files that use the XML
271 format
272 </para>
273 <indexterm zone="libxml2 libxml2-lib">
274 <primary sortas="c-libxml2">libxml2.so</primary>
275 </indexterm>
276 </listitem>
277 </varlistentry>
278
279 </variablelist>
280
281 </sect2>
282
283</sect1>
Note: See TracBrowser for help on using the repository browser.