source: networking/netlibs/curl.xml@ bfc3945

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since bfc3945 was bfc3945, checked in by Bruce Dubbs <bdubbs@…>, 6 years ago

Update to glib-networking-2.54.1.
Update to nghttp2-1.27.0.
Update to libpciaccess-0.14 (xorg library).
Update to curl-7.56.1.
Update to harfbuzz-1.6.2.
Update to httpd-2.4.29.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@19412 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 10.3 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 curl-download-http "https://curl.haxx.se/download/curl-&curl-version;.tar.xz">
8 <!ENTITY curl-download-ftp " ">
9 <!ENTITY curl-md5sum "e332347fc0b80cabf9c42f310be040c5">
10 <!ENTITY curl-size "2.2 MB">
11 <!ENTITY curl-buildsize "36 MB (add 11 MB for tests)">
12 <!ENTITY curl-time "0.3 SBU (add 3.2 SBU for tests)">
13]>
14
15<sect1 id="curl" xreflabel="cURL-&curl-version;">
16 <?dbhtml filename="curl.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>cURL-&curl-version;</title>
24
25 <indexterm zone="curl">
26 <primary sortas="a-cURL">cURL</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to cURL</title>
31
32 <para>
33 The <application>cURL</application> package contains an utility
34 and a library used for transferring files with URL syntax to any of
35 the following protocols: FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP,
36 TELNET, DICT, LDAP, LDAPS and FILE. Its ability to both download
37 and upload files can be incorporated into other programs to support
38 functions like streaming media.
39 </para>
40
41 &lfs81_checked;
42
43 <bridgehead renderas="sect3">Package Information</bridgehead>
44 <itemizedlist spacing="compact">
45 <listitem>
46 <para>
47 Download (HTTP): <ulink url="&curl-download-http;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download (FTP): <ulink url="&curl-download-ftp;"/>
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download MD5 sum: &curl-md5sum;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download size: &curl-size;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated disk space required: &curl-buildsize;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Estimated build time: &curl-time;
73 </para>
74 </listitem>
75 </itemizedlist>
76
77<!-- Tests seem to pass without any patch
78 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
79 <itemizedlist spacing="compact">
80 <listitem>
81 <para>
82 Required patch:
83 <ulink url="&patch-root;/curl-&curl-version;-valgrind_filter-1.patch"/>
84 </para>
85 </listitem>
86 </itemizedlist>
87-->
88 <bridgehead renderas="sect3">cURL Dependencies</bridgehead>
89
90 <bridgehead renderas="sect4">Recommended</bridgehead>
91 <para role="recommended">
92 <xref role="runtime" linkend="cacerts"/> (runtime) and
93 <xref linkend="openssl"/>
94 </para>
95
96 <bridgehead renderas="sect4">Optional</bridgehead>
97 <para role="optional">
98 <xref linkend="c-ares"/>,
99 <xref linkend="gnutls"/>,
100 <xref linkend="libidn2"/>,
101 <xref linkend="mitkrb"/>,
102 <xref linkend="nghttp2"/>,
103 <xref linkend="openldap"/>,
104 <xref linkend="samba"/>,
105 <ulink url="https://launchpad.net/libmetalink/">libmetalink</ulink>,
106 <ulink url="https://github.com/rockdaboot/libpsl">libpsl</ulink>,
107 <ulink url="http://rtmpdump.mplayerhq.hu/">librtmp</ulink>,
108 <ulink url="http://www.libssh2.org">libssh2</ulink>,
109 <ulink url="https://tls.mbed.org/">mbed TLS</ulink> (formerly known as
110 PolarSSL), and
111 <ulink url="http://spnego.sourceforge.net/"> SPNEGO</ulink>
112 </para>
113
114 <bridgehead renderas="sect4">Optional for Running the Test Suite</bridgehead>
115 <para role="optional">
116 <xref linkend="stunnel"/> (for the HTTPS and FTPS tests) and
117 <xref linkend="valgrind"/>
118 </para>
119
120 <para condition="html" role="usernotes">User Notes:
121 <ulink url="&blfs-wiki;/curl"/>
122 </para>
123 </sect2>
124
125 <sect2 role="installation">
126 <title>Installation of cURL</title>
127
128 <para>
129 Install <application>cURL</application> by running the following
130 commands:
131 </para>
132
133<screen><userinput>./configure --prefix=/usr \
134 --disable-static \
135 --enable-threaded-resolver \
136 --with-ca-path=/etc/ssl/certs &amp;&amp;
137make</userinput></screen>
138
139<!--
140 For version 7.54.1 I got:
141 TESTDONE: 869 tests out of 869 reported OK: 100%
142 TESTDONE: 1092 tests were considered during 1080 seconds
143
144 <para>
145 Running the test suite is optional. About 2% of the tests fail. Increase
146 in test time by each failed test is about 10%. Tests SBU above was
147 obtained disabling failing tests, with:
148 </para>
149
150 2017-10-29 - bdubbs
151 For version 7.56.1 I had a lot of test failures which included long
152 timeouts. Could not determine the cause of the timeouts or failures,
153 but I was missing c-ares, MIT Kerberos, ldap, samba, and the six
154 external packages.
155-->
156 <note>
157 <para>
158 To run the tests for this package, valgrind requires a version of the
159 /lib/ld-2.23.so (or later) library with debugging symbols present.
160 </para>
161
162 <para>Current versions of LFS does not strip /lib/ld-2.23.so but
163 previous versions of LFS stripped these debugging symbols at the end of
164 Chapter 6. To get this library on oldeer systems, glibc must be rebuilt
165 with the current
166 glibc version using the same compiler that was used to build LFS. The
167 ld-2.23.so can then be renamed to ld-2.23.so.dbg and copied to /lib. Then
168 a symlink needs to be changed:
169 </para>
170
171 <screen role="nodump"><userinput>ln -sfv ld-2.23.so.dbg /lib/ld-linux-x86-64.so.2</userinput></screen>
172
173 <para>
174 Adjust the above instruction as needed for a 32-bit system
175 or for a different version of glibc.
176 </para>
177 </note>
178
179 <para>
180 To run the test suite, issue: <command>make test</command>. Many tests
181 may fail that depend on optional dependencies that may not be installed.
182 Test time may be significantly increase due to hanging tests that fail.
183 </para>
184
185 <para>
186 Now, as the <systemitem class="username">root</systemitem>
187 user:
188 </para>
189
190<screen role="root"><userinput>make install &amp;&amp;
191
192rm -rf docs/examples/.deps &amp;&amp;
193
194find docs \( -name Makefile\* \
195 -o -name \*.1 \
196 -o -name \*.3 \) \
197 -exec rm {} \; &amp;&amp;
198install -v -d -m755 /usr/share/doc/curl-&curl-version; &amp;&amp;
199cp -v -R docs/* /usr/share/doc/curl-&curl-version;</userinput></screen>
200
201 <para>
202 Simple tests to the new installed <command>curl</command>:
203 <command>curl --trace-ascii debugdump.txt http://www.example.com/</command>
204 and
205 <command>curl --trace-ascii d.txt --trace-time http://example.com/</command>.
206 Inspect the locally created trace files <filename>debugdump.txt</filename>
207 and <filename>d.txt</filename>, which contain version downloaded
208 files information, etc. One file has the time for each action logged.
209 </para>
210 </sect2>
211
212 <sect2 role="commands">
213 <title>Command Explanations</title>
214
215 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
216 href="../../xincludes/static-libraries.xml"/>
217
218 <para>
219 <parameter>--enable-threaded-resolver</parameter>: This switch enables
220 <application>cURL</application>'s builtin threaded DNS resolver.
221 </para>
222
223 <para>
224 <parameter>--with-ca-path=/etc/ssl/certs</parameter>: This
225 switch sets the location of the BLFS <xref linkend="cacerts"/>.
226 </para>
227
228 <para>
229 <option>--with-gssapi</option>: This parameter adds
230 <application>Kerberos 5</application> support to
231 <filename class="libraryfile">libcurl</filename>.
232 </para>
233
234 <para>
235 <option>--without-ssl --with-gnutls</option>: Use to
236 build with <application>GnuTLS</application> support
237 instead of <application>OpenSSL</application> for SSL/TLS.
238 </para>
239
240 <para>
241 <option>--with-ca-bundle=/etc/ssl/ca-bundle.crt</option>: Use
242 this switch instead of <parameter>--with-ca-path</parameter> if
243 building with <application>GnuTLS</application> support
244 instead of <application>OpenSSL</application> for SSL/TLS.
245 </para>
246
247 <para>
248 <command>find docs ... -exec rm {} \;</command>: This command removes
249 <filename>Makefiles</filename> and man files from the documentation
250 directory that would otherwise be installed by the commands that follow.
251 </para>
252
253 </sect2>
254
255 <sect2 role="content">
256 <title>Contents</title>
257
258 <segmentedlist>
259 <segtitle>Installed Programs</segtitle>
260 <segtitle>Installed Library</segtitle>
261 <segtitle>Installed Directories</segtitle>
262
263 <seglistitem>
264 <seg>
265 curl, and curl-config
266 </seg>
267 <seg>
268 libcurl.so
269 </seg>
270 <seg>
271 /usr/include/curl and
272 /usr/share/doc/curl-&curl-version;
273 </seg>
274 </seglistitem>
275 </segmentedlist>
276
277 <variablelist>
278 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
279 <?dbfo list-presentation="list"?>
280 <?dbhtml list-presentation="table"?>
281
282 <varlistentry id="curl-prog">
283 <term><command>curl</command></term>
284 <listitem>
285 <para>
286 is a command line tool for transferring files with URL syntax.
287 </para>
288 <indexterm zone="curl curl-prog">
289 <primary sortas="b-curl">curl</primary>
290 </indexterm>
291 </listitem>
292 </varlistentry>
293
294 <varlistentry id="curl-config">
295 <term><command>curl-config</command></term>
296 <listitem>
297 <para>
298 prints information about the last compile, like libraries
299 linked to and prefix setting.
300 </para>
301 <indexterm zone="curl curl-config">
302 <primary sortas="b-curl-config">curl-config</primary>
303 </indexterm>
304 </listitem>
305 </varlistentry>
306
307 <varlistentry id="libcurl">
308 <term><filename class="libraryfile">libcurl.so</filename></term>
309 <listitem>
310 <para>
311 provides the API functions required by
312 <command>curl</command> and other programs.
313 </para>
314 <indexterm zone="curl libcurl">
315 <primary sortas="c-libcurl">libcurl.so</primary>
316 </indexterm>
317 </listitem>
318 </varlistentry>
319
320 </variablelist>
321
322 </sect2>
323
324</sect1>
Note: See TracBrowser for help on using the repository browser.