source: networking/netlibs/curl.xml@ 92d2b83

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.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 92d2b83 was 92d2b83, checked in by Bruce Dubbs <bdubbs@…>, 7 years ago

Update to curl-7.55.0.
Update to tcl-core-8.6.7 and tk-8.6.7.
Update to openjpeg2-2.2.0.
Update to gnupg-2.1.23.

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

  • Property mode set to 100644
File size: 9.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 "d8335766d8768bc54a2dd2823f390dde">
10 <!ENTITY curl-size "2.1 MB">
11 <!ENTITY curl-buildsize "36 MB (additional 10 MB for tests)">
12 <!ENTITY curl-time "0.4 SBU (additional 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 &lfs80_checked;
42 &gcc7_checked;
43
44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
47 <para>
48 Download (HTTP): <ulink url="&curl-download-http;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download (FTP): <ulink url="&curl-download-ftp;"/>
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download MD5 sum: &curl-md5sum;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Download size: &curl-size;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated disk space required: &curl-buildsize;
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Estimated build time: &curl-time;
74 </para>
75 </listitem>
76 </itemizedlist>
77
78<!-- Tests seem to pass without any patch
79 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
80 <itemizedlist spacing="compact">
81 <listitem>
82 <para>
83 Required patch:
84 <ulink url="&patch-root;/curl-&curl-version;-valgrind_filter-1.patch"/>
85 </para>
86 </listitem>
87 </itemizedlist>
88-->
89 <bridgehead renderas="sect3">cURL Dependencies</bridgehead>
90
91 <bridgehead renderas="sect4">Recommended</bridgehead>
92 <para role="recommended">
93 <xref linkend="cacerts"/> (runtime) and
94 <xref linkend="openssl"/>
95 </para>
96
97 <bridgehead renderas="sect4">Optional</bridgehead>
98 <para role="optional">
99 <xref linkend="c-ares"/>,
100 <xref linkend="gnutls"/>,
101 <xref linkend="mitkrb"/>,
102 <xref linkend="nghttp2"/>,
103 <xref linkend="openldap"/>,
104 <xref linkend="samba"/>,
105 <ulink url="https://www.gnu.org/software/libidn/#libidn2/">libidn2</ulink>,
106 <ulink url="https://launchpad.net/libmetalink/">libmetalink</ulink>,
107 <ulink url="https://github.com/rockdaboot/libpsl">libpsl</ulink>,
108 <ulink url="http://rtmpdump.mplayerhq.hu/">librtmp</ulink>,
109 <ulink url="http://www.libssh2.org">libssh2</ulink>,
110 <ulink url="https://tls.mbed.org/">mbed TLS (formerly known as
111 PolarSSL)</ulink>, and
112 <ulink url="http://spnego.sourceforge.net/">
113 SPNEGO</ulink>
114 </para>
115
116 <bridgehead renderas="sect4">Optional for Running the Test Suite</bridgehead>
117 <para role="optional">
118 <xref linkend="stunnel"/> (for the HTTPS and FTPS tests) and
119 <xref linkend="valgrind"/>
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 <note>
153 <para>
154 To run the tests for this package, valgrind requires a version of the
155 /lib/ld-2.23.so (or later) library with debugging symbols present.
156 Normally in LFS these debugging symbols are stripped at the end of
157 Chapter 6. To get this library, glibc must be rebuilt with the current
158 glibc version using the same compiler that was used to build LFS. The
159 ld-2.23.so can then be renamed to ld-2.23.so.dbg and copied to /lib. Then
160 a symlink needs to be changed:
161 </para>
162
163 <screen role="nodump"><userinput>ln -sfv ld-2.23.so.dbg /lib/ld-linux-x86-64.so.2</userinput></screen>
164
165 <para>
166 Adjust the above instruction as needed for a 32-bit system
167 or for a different version of glibc.
168 </para>
169 </note>
170
171 <para>
172 To run the test suite, issue: <command>make test</command>.
173 </para>
174
175 <para>
176 Now, as the <systemitem class="username">root</systemitem>
177 user:
178 </para>
179
180<screen role="root"><userinput>make install &amp;&amp;
181
182rm -rf docs/examples/.deps &amp;&amp;
183
184find docs \( -name Makefile\* \
185 -o -name \*.1 \
186 -o -name \*.3 \) \
187 -exec rm {} \; &amp;&amp;
188install -v -d -m755 /usr/share/doc/curl-&curl-version; &amp;&amp;
189cp -v -R docs/* /usr/share/doc/curl-&curl-version;</userinput></screen>
190
191 <para>
192 Simple tests to the new installed <command>curl</command>:
193 <command>curl --trace-ascii debugdump.txt http://www.example.com/</command>
194 and
195 <command>curl --trace-ascii d.txt --trace-time http://example.com/</command>.
196 Inspect the locally created trace files <filename>debugdump.txt</filename>
197 and <filename>d.txt</filename>, which contain version downloaded
198 files information, etc. One file has the time for each action logged.
199 </para>
200 </sect2>
201
202 <sect2 role="commands">
203 <title>Command Explanations</title>
204
205 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
206 href="../../xincludes/static-libraries.xml"/>
207
208 <para>
209 <parameter>--enable-threaded-resolver</parameter>: This switch enables
210 <application>cURL</application>'s builtin threaded DNS resolver.
211 </para>
212
213 <para>
214 <parameter>--with-ca-path=/etc/ssl/certs</parameter>: This
215 switch sets the location of the BLFS <xref linkend="cacerts"/>.
216 </para>
217
218 <para>
219 <option>--with-gssapi</option>: This parameter adds
220 <application>Kerberos 5</application> support to
221 <filename class="libraryfile">libcurl</filename>.
222 </para>
223
224 <para>
225 <option>--without-ssl --with-gnutls</option>: Use to
226 build with <application>GnuTLS</application> support
227 instead of <application>OpenSSL</application> for SSL/TLS.
228 </para>
229
230 <para>
231 <option>--with-ca-bundle=/etc/ssl/ca-bundle.crt</option>: Use
232 this switch instead of <parameter>--with-ca-path</parameter> if
233 building with <application>GnuTLS</application> support
234 instead of <application>OpenSSL</application> for SSL/TLS.
235 </para>
236
237 <para>
238 <command>find docs ... -exec rm {} \;</command>: This command removes
239 <filename>Makefiles</filename> and man files from the documentation
240 directory that would otherwise be installed by the commands that follow.
241 </para>
242
243 </sect2>
244
245 <sect2 role="content">
246 <title>Contents</title>
247
248 <segmentedlist>
249 <segtitle>Installed Programs</segtitle>
250 <segtitle>Installed Library</segtitle>
251 <segtitle>Installed Directories</segtitle>
252
253 <seglistitem>
254 <seg>
255 curl, and curl-config
256 </seg>
257 <seg>
258 libcurl.so
259 </seg>
260 <seg>
261 /usr/include/curl and
262 /usr/share/doc/curl-&curl-version;
263 </seg>
264 </seglistitem>
265 </segmentedlist>
266
267 <variablelist>
268 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
269 <?dbfo list-presentation="list"?>
270 <?dbhtml list-presentation="table"?>
271
272 <varlistentry id="curl-prog">
273 <term><command>curl</command></term>
274 <listitem>
275 <para>
276 is a command line tool for transferring files with URL syntax.
277 </para>
278 <indexterm zone="curl curl-prog">
279 <primary sortas="b-curl">curl</primary>
280 </indexterm>
281 </listitem>
282 </varlistentry>
283
284 <varlistentry id="curl-config">
285 <term><command>curl-config</command></term>
286 <listitem>
287 <para>
288 prints information about the last compile, like libraries
289 linked to and prefix setting.
290 </para>
291 <indexterm zone="curl curl-config">
292 <primary sortas="b-curl-config">curl-config</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 <varlistentry id="libcurl">
298 <term><filename class="libraryfile">libcurl.so</filename></term>
299 <listitem>
300 <para>
301 provides the API functions required by
302 <command>curl</command> and other programs.
303 </para>
304 <indexterm zone="curl libcurl">
305 <primary sortas="c-libcurl">libcurl.so</primary>
306 </indexterm>
307 </listitem>
308 </varlistentry>
309
310 </variablelist>
311
312 </sect2>
313
314</sect1>
Note: See TracBrowser for help on using the repository browser.