source: networking/netlibs/curl.xml@ 6961e42

10.0 10.1 11.0 11.1 11.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind lazarus perl-modules plabs/python-mods qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since 6961e42 was 6961e42, checked in by Ken Moffat <ken@…>, 5 years ago

Remove old text about symlinking a dbg version of ld: for any LFS build from the last fourteen months that will make the system both unusable and unbootable.

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

  • Property mode set to 100644
File size: 10.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 curl-download-http "https://curl.haxx.se/download/curl-&curl-version;.tar.xz">
8 <!ENTITY curl-download-ftp " ">
9 <!ENTITY curl-md5sum "a889cd11b4ae8794b7030472cb4df0a0">
10 <!ENTITY curl-size "2.2 MB">
11 <!ENTITY curl-buildsize "38 MB (add 13 MB for tests)">
12 <!ENTITY curl-time "0.4 SBU (add 13 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 &lfs82_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="make-ca"/> (runtime)
93 </para>
94
95 <bridgehead renderas="sect4">Optional</bridgehead>
96 <para role="optional">
97 <xref linkend="c-ares"/>,
98 <xref linkend="gnutls"/>,
99 <xref linkend="libidn2"/>,
100 <xref linkend="libssh2"/>,
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="https://tls.mbed.org/">mbed TLS</ulink> (formerly known as
109 PolarSSL), and
110 <ulink url="http://spnego.sourceforge.net/">SPNEGO</ulink>
111 </para>
112
113 <bridgehead renderas="sect4">Optional if Running the Test Suite</bridgehead>
114 <para role="optional">
115 <!-- stunnel is still listed in the docs as required, but 7.58.0
116 tests completed happily without it, although the test for unit1323
117 reported that the tool set in the test case does not exist - ken -->
118 <xref linkend="stunnel"/> (for the HTTPS and FTPS tests) and
119 <xref linkend="valgrind"/> (this will slow the tests down)
120 </para>
121
122 <para condition="html" role="usernotes">User Notes:
123 <ulink url="&blfs-wiki;/curl"/>
124 </para>
125 </sect2>
126
127 <sect2 role="installation">
128 <title>Installation of cURL</title>
129
130 <para>
131 Install <application>cURL</application> by running the following
132 commands:
133 </para>
134
135<screen><userinput>./configure --prefix=/usr \
136 --disable-static \
137 --enable-threaded-resolver \
138 --with-ca-path=/etc/ssl/certs &amp;&amp;
139make</userinput></screen>
140
141<!--
142 For version 7.54.1 I got:
143 TESTDONE: 869 tests out of 869 reported OK: 100%
144 TESTDONE: 1092 tests were considered during 1080 seconds
145
146 <para>
147 Running the test suite is optional. About 2% of the tests fail. Increase
148 in test time by each failed test is about 10%. Tests SBU above was
149 obtained disabling failing tests, with:
150 </para>
151
152 2017-10-29 - bdubbs
153 For version 7.56.1 I had a lot of test failures which included long
154 timeouts. Could not determine the cause of the timeouts or failures,
155 but I was missing c-ares, MIT Kerberos, ldap, samba, and the six
156 external packages.
157
158 2017-12-01 - bdubbs
159 Still a lot of test failures. I did have c-ares, Kerberos, and ldap
160 installed this time. Best guess is that servers are not available.
161-->
162
163 <para>
164 To run the test suite, issue: <command>make test</command>. Two (of 857) tests
165 fail for unknown reasons.<!--
166Added by Pierre for curl-7.59.0:
167no stunnel, no valgrind, no options
168Warning: smb server unexpectedly alive
169Warning: dict server unexpectedly alive
170TESTDONE: 950 tests out of 951 reported OK: 99%
171TESTFAIL: These test cases failed: 1148
172TESTDONE: 1189 tests were considered during 362 seconds.
173__________
174
175 if stunnel and valgrind are not installed, and also most options
176 (I had rtmpdump), the tests complete without problems.
177Warning: smb server unexpectedly alive
178Warning: dict server unexpectedly alive
179TESTDONE: 938 tests out of 938 reported OK: 100%
180TESTDONE: 1175 tests were considered during 355 seconds.
181 and no. I don't have smb - so commenting the rest of this:
182 To run the test suite, issue: <command>make test</command>. Many tests
183 may fail that depend on optional dependencies that may not be installed
184 or upstream servers that may not be available, especially for tests
185 numbered 700 and above.
186 Test time may be significantly increase due to hanging tests that fail. i
187__________
188Added by Bruce for curl-7.60.0:
189TESTDONE: 957 tests out of 959 reported OK: 99%
190TESTFAIL: These test cases failed: 1139 1140
191TESTDONE: 1196 tests were considered during 1184 seconds.
192From the logs, both appear to be ipv6 releated.
193-->
194 </para>
195
196 <para>
197 Now, as the <systemitem class="username">root</systemitem>
198 user:
199 </para>
200
201<screen role="root"><userinput>make install &amp;&amp;
202
203rm -rf docs/examples/.deps &amp;&amp;
204
205find docs \( -name Makefile\* -o -name \*.1 -o -name \*.3 \) -exec rm {} \; &amp;&amp;
206
207install -v -d -m755 /usr/share/doc/curl-&curl-version; &amp;&amp;
208cp -v -R docs/* /usr/share/doc/curl-&curl-version;</userinput></screen>
209
210 <para>
211 Simple tests to the new installed <command>curl</command>:
212 <command>curl --trace-ascii debugdump.txt http://www.example.com/</command>
213 and
214 <command>curl --trace-ascii d.txt --trace-time http://example.com/</command>.
215 Inspect the locally created trace files <filename>debugdump.txt</filename>
216 and <filename>d.txt</filename>, which contain version downloaded
217 files information, etc. One file has the time for each action logged.
218 </para>
219 </sect2>
220
221 <sect2 role="commands">
222 <title>Command Explanations</title>
223
224 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
225 href="../../xincludes/static-libraries.xml"/>
226
227 <para>
228 <parameter>--enable-threaded-resolver</parameter>: This switch enables
229 <application>cURL</application>'s builtin threaded DNS resolver.
230 </para>
231
232 <para>
233 <parameter>--with-ca-path=/etc/ssl/certs</parameter>: This
234 switch sets the location of the BLFS Certificate Authority store.
235 </para>
236
237 <para>
238 <option>--with-gssapi</option>: This parameter adds
239 <application>Kerberos 5</application> support to
240 <filename class="libraryfile">libcurl</filename>.
241 </para>
242
243 <para>
244 <option>--without-ssl --with-gnutls</option>: Use to
245 build with <application>GnuTLS</application> support
246 instead of <application>OpenSSL</application> for SSL/TLS.
247 </para>
248
249 <para>
250 <option>--with-ca-bundle=/etc/ssl/ca-bundle.crt</option>: Use
251 this switch instead of <parameter>--with-ca-path</parameter> if
252 building with <application>GnuTLS</application> support
253 instead of <application>OpenSSL</application> for SSL/TLS.
254 </para>
255
256 <para>
257 <command>find docs ... -exec rm {} \;</command>: This command removes
258 <filename>Makefiles</filename> and man files from the documentation
259 directory that would otherwise be installed by the commands that follow.
260 </para>
261
262 </sect2>
263
264 <sect2 role="content">
265 <title>Contents</title>
266
267 <segmentedlist>
268 <segtitle>Installed Programs</segtitle>
269 <segtitle>Installed Library</segtitle>
270 <segtitle>Installed Directories</segtitle>
271
272 <seglistitem>
273 <seg>
274 curl and curl-config
275 </seg>
276 <seg>
277 libcurl.so
278 </seg>
279 <seg>
280 /usr/include/curl and
281 /usr/share/doc/curl-&curl-version;
282 </seg>
283 </seglistitem>
284 </segmentedlist>
285
286 <variablelist>
287 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
288 <?dbfo list-presentation="list"?>
289 <?dbhtml list-presentation="table"?>
290
291 <varlistentry id="curl-prog">
292 <term><command>curl</command></term>
293 <listitem>
294 <para>
295 is a command line tool for transferring files with URL syntax.
296 </para>
297 <indexterm zone="curl curl-prog">
298 <primary sortas="b-curl">curl</primary>
299 </indexterm>
300 </listitem>
301 </varlistentry>
302
303 <varlistentry id="curl-config">
304 <term><command>curl-config</command></term>
305 <listitem>
306 <para>
307 prints information about the last compile, like libraries
308 linked to and prefix setting.
309 </para>
310 <indexterm zone="curl curl-config">
311 <primary sortas="b-curl-config">curl-config</primary>
312 </indexterm>
313 </listitem>
314 </varlistentry>
315
316 <varlistentry id="libcurl">
317 <term><filename class="libraryfile">libcurl.so</filename></term>
318 <listitem>
319 <para>
320 provides the API functions required by
321 <command>curl</command> and other programs.
322 </para>
323 <indexterm zone="curl libcurl">
324 <primary sortas="c-libcurl">libcurl.so</primary>
325 </indexterm>
326 </listitem>
327 </varlistentry>
328
329 </variablelist>
330
331 </sect2>
332
333</sect1>
Note: See TracBrowser for help on using the repository browser.