source: networking/netlibs/curl.xml@ d714f22

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 d714f22 was d714f22, checked in by Ken Moffat <ken@…>, 6 years ago

curl-7.58.0

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

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