source: general/genlib/libxml2.xml@ 7655d92f

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 7655d92f was 44b3f440, checked in by Xi Ruoyao <xry111@…>, 10 months ago

treewide: Really remove commented out references to Python 2

It helps using grep for finding packages depending on Python 2.

  • Property mode set to 100644
File size: 8.7 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 &lfs120_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
85 <bridgehead renderas="sect4">Optional</bridgehead>
86 <para role="optional">
87 <xref linkend="icu"/> (see below) and
88 <xref linkend="valgrind"/> (may be used in the tests)
89 </para>
90
91 <note>
92 <para>
93 The old <application>Python2</application> module can be built after
94 <filename class="libraryfile">libxml2.so</filename> has been installed,
95 see <xref linkend="libxml2py2"/>.
96 </para>
97 </note>
98
99 </sect2>
100
101 <sect2 role="installation">
102 <title>Installation of libxml2</title>
103
104 <para>
105 Install <application>libxml2</application> by running the following
106 commands:
107 </para>
108
109<screen><userinput>./configure --prefix=/usr \
110 --sysconfdir=/etc \
111 --disable-static \
112 --with-history \
113 PYTHON=/usr/bin/python3 \
114 --docdir=/usr/share/doc/libxml2-&libxml2-version; &amp;&amp;
115make</userinput></screen>
116
117 <para>
118 If you downloaded the test suite, issue the following command:
119 </para>
120
121<screen><userinput>tar xf ../xmlts&testsuite-version;.tar.gz</userinput></screen>
122
123 <para>
124 To test the results, issue: <command>make check &gt; check.log</command>.
125 A summary of the results can be obtained with <command>grep -E
126 '^Total|expected' check.log</command>. If <xref linkend="valgrind"/> is
127 installed and you want to check for memory leaks, replace
128 <command>check</command> with <command>check-valgrind</command>.
129 </para>
130
131 <note>
132 <para>
133 The tests use <ulink url="http://localhost/">http://localhost/</ulink>
134 to test parsing of external entities. If the machine where you run the
135 tests serves as a web site, the tests may hang, depending on the
136 content of the file served. It is therefore recommended to shut down
137 the server during the tests, as the <systemitem
138 class="username">root</systemitem> user:
139 </para>
140
141<screen role="nodump" revision="sysv"><userinput>/etc/init.d/httpd stop</userinput></screen>
142<screen role="nodump" revision="systemd"><userinput>systemctl stop httpd.service</userinput></screen>
143
144 </note>
145
146 <para>
147 Now, as the <systemitem class="username">root</systemitem> user:
148 </para>
149
150<screen role="root"><userinput>make install</userinput></screen>
151 </sect2>
152
153 <sect2 role="commands">
154 <title>Command Explanations</title>
155
156 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
157 href="../../xincludes/static-libraries.xml"/>
158
159 <para>
160 <parameter>--with-history</parameter>: This switch enables
161 <application>Readline</application> support when running
162 <command>xmlcatalog</command> or <command>xmllint</command> in shell mode.
163 </para>
164
165 <para>
166 <parameter>PYTHON=/usr/bin/python3</parameter>: Allows building
167 the libxml2 module with Python3 instead of Python2.
168 </para>
169
170 <para>
171 <option>--with-icu</option>: Add this switch if you have built
172 <xref linkend="icu"/>, for better unicode support.
173 </para>
174
175 <note>
176 <para>
177 If the <option>--with-icu</option> switch is used, the BLFS editors
178 recommend removing unneeded references to the ICU libraries. This
179 will prevent many packages that use libxml2 from unnecessarily linking
180 to the ICU libraries. This, in turn, will prevent the need for
181 rebuilding many packages when upgrading ICU to a new major version.
182 After installing libxml2, as the &root; user, issue:
183 </para>
184
185<screen role="nodump"><userinput>rm -vf /usr/lib/libxml2.la &amp;&amp;
186sed '/libs=/s/xml2.*/xml2"/' -i /usr/bin/xml2-config</userinput></screen>
187 </note>
188
189 </sect2>
190
191 <sect2 role="content">
192 <title>Contents</title>
193
194 <segmentedlist>
195 <segtitle>Installed Programs</segtitle>
196 <segtitle>Installed Libraries</segtitle>
197 <segtitle>Installed Directories</segtitle>
198
199 <seglistitem>
200 <seg>
201 xml2-config,
202 xmlcatalog, and
203 xmllint
204 </seg>
205 <seg>
206 libxml2.so
207 </seg>
208 <seg>
209 /usr/include/libxml2,
210 /usr/lib/cmake/libxml2,
211 /usr/share/doc/libxml2-&libxml2-version;, and
212 /usr/share/gtk-doc/html/libxml2
213 </seg>
214 </seglistitem>
215 </segmentedlist>
216
217 <variablelist>
218 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
219 <?dbfo list-presentation="list"?>
220 <?dbhtml list-presentation="table"?>
221
222 <varlistentry id="xml2-config">
223 <term><command>xml2-config</command></term>
224 <listitem>
225 <para>
226 determines the compile and linker flags that should be used to
227 compile and link programs that use
228 <filename class="libraryfile">libxml2</filename>
229 </para>
230 <indexterm zone="libxml2 xml2-config">
231 <primary sortas="b-xml2-config">xml2-config</primary>
232 </indexterm>
233 </listitem>
234 </varlistentry>
235
236 <varlistentry id="xmlcatalog">
237 <term><command>xmlcatalog</command></term>
238 <listitem>
239 <para>
240 is used to monitor and manipulate XML and SGML catalogs
241 </para>
242 <indexterm zone="libxml2 xmlcatalog">
243 <primary sortas="b-xmlcatalog">xmlcatalog</primary>
244 </indexterm>
245 </listitem>
246 </varlistentry>
247
248 <varlistentry id="xmllint">
249 <term><command>xmllint</command></term>
250 <listitem>
251 <para>
252 parses XML files and outputs reports (based upon options) to detect
253 errors in XML coding
254 </para>
255 <indexterm zone="libxml2 xmllint">
256 <primary sortas="b-xmllint">xmllint</primary>
257 </indexterm>
258 </listitem>
259 </varlistentry>
260
261 <varlistentry id="libxml2-lib">
262 <term><filename class="libraryfile">libxml2.so</filename></term>
263 <listitem>
264 <para>
265 provides functions for programs to parse files that use the XML
266 format
267 </para>
268 <indexterm zone="libxml2 libxml2-lib">
269 <primary sortas="c-libxml2">libxml2.so</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273
274 </variablelist>
275
276 </sect2>
277
278</sect1>
Note: See TracBrowser for help on using the repository browser.