source: networking/netlibs/curl.xml@ 5b62526

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 5b62526 was 5b62526, checked in by Bruce Dubbs <bdubbs@…>, 7 years ago

Update to curl-7.56.0.
Update to gjs-1.50.1.
Update to gtksourceview-3.24.5.
Update to gtk+3.22.24.
Update to babl-0.1.34.
+

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

  • Property mode set to 100644
File size: 10.0 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 "18ebc36c5dc9317d4a0b5db94a4e12ad">
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 <note>
151 <para>
152 To run the tests for this package, valgrind requires a version of the
153 /lib/ld-2.23.so (or later) library with debugging symbols present.
154 </para>
155
156 <para>Current versions of LFS does not strip /lib/ld-2.23.so but
157 previous versions of LFS stripped these debugging symbols at the end of
158 Chapter 6. To get this library on oldeer systems, glibc must be rebuilt
159 with the current
160 glibc version using the same compiler that was used to build LFS. The
161 ld-2.23.so can then be renamed to ld-2.23.so.dbg and copied to /lib. Then
162 a symlink needs to be changed:
163 </para>
164
165 <screen role="nodump"><userinput>ln -sfv ld-2.23.so.dbg /lib/ld-linux-x86-64.so.2</userinput></screen>
166
167 <para>
168 Adjust the above instruction as needed for a 32-bit system
169 or for a different version of glibc.
170 </para>
171 </note>
172
173 <para>
174 To run the test suite, issue: <command>make test</command>. Many tests
175 may fail that depend on optional dependencies that may not be installed.
176 </para>
177
178 <para>
179 Now, as the <systemitem class="username">root</systemitem>
180 user:
181 </para>
182
183<screen role="root"><userinput>make install &amp;&amp;
184
185rm -rf docs/examples/.deps &amp;&amp;
186
187find docs \( -name Makefile\* \
188 -o -name \*.1 \
189 -o -name \*.3 \) \
190 -exec rm {} \; &amp;&amp;
191install -v -d -m755 /usr/share/doc/curl-&curl-version; &amp;&amp;
192cp -v -R docs/* /usr/share/doc/curl-&curl-version;</userinput></screen>
193
194 <para>
195 Simple tests to the new installed <command>curl</command>:
196 <command>curl --trace-ascii debugdump.txt http://www.example.com/</command>
197 and
198 <command>curl --trace-ascii d.txt --trace-time http://example.com/</command>.
199 Inspect the locally created trace files <filename>debugdump.txt</filename>
200 and <filename>d.txt</filename>, which contain version downloaded
201 files information, etc. One file has the time for each action logged.
202 </para>
203 </sect2>
204
205 <sect2 role="commands">
206 <title>Command Explanations</title>
207
208 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
209 href="../../xincludes/static-libraries.xml"/>
210
211 <para>
212 <parameter>--enable-threaded-resolver</parameter>: This switch enables
213 <application>cURL</application>'s builtin threaded DNS resolver.
214 </para>
215
216 <para>
217 <parameter>--with-ca-path=/etc/ssl/certs</parameter>: This
218 switch sets the location of the BLFS <xref linkend="cacerts"/>.
219 </para>
220
221 <para>
222 <option>--with-gssapi</option>: This parameter adds
223 <application>Kerberos 5</application> support to
224 <filename class="libraryfile">libcurl</filename>.
225 </para>
226
227 <para>
228 <option>--without-ssl --with-gnutls</option>: Use to
229 build with <application>GnuTLS</application> support
230 instead of <application>OpenSSL</application> for SSL/TLS.
231 </para>
232
233 <para>
234 <option>--with-ca-bundle=/etc/ssl/ca-bundle.crt</option>: Use
235 this switch instead of <parameter>--with-ca-path</parameter> if
236 building with <application>GnuTLS</application> support
237 instead of <application>OpenSSL</application> for SSL/TLS.
238 </para>
239
240 <para>
241 <command>find docs ... -exec rm {} \;</command>: This command removes
242 <filename>Makefiles</filename> and man files from the documentation
243 directory that would otherwise be installed by the commands that follow.
244 </para>
245
246 </sect2>
247
248 <sect2 role="content">
249 <title>Contents</title>
250
251 <segmentedlist>
252 <segtitle>Installed Programs</segtitle>
253 <segtitle>Installed Library</segtitle>
254 <segtitle>Installed Directories</segtitle>
255
256 <seglistitem>
257 <seg>
258 curl, and curl-config
259 </seg>
260 <seg>
261 libcurl.so
262 </seg>
263 <seg>
264 /usr/include/curl and
265 /usr/share/doc/curl-&curl-version;
266 </seg>
267 </seglistitem>
268 </segmentedlist>
269
270 <variablelist>
271 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
272 <?dbfo list-presentation="list"?>
273 <?dbhtml list-presentation="table"?>
274
275 <varlistentry id="curl-prog">
276 <term><command>curl</command></term>
277 <listitem>
278 <para>
279 is a command line tool for transferring files with URL syntax.
280 </para>
281 <indexterm zone="curl curl-prog">
282 <primary sortas="b-curl">curl</primary>
283 </indexterm>
284 </listitem>
285 </varlistentry>
286
287 <varlistentry id="curl-config">
288 <term><command>curl-config</command></term>
289 <listitem>
290 <para>
291 prints information about the last compile, like libraries
292 linked to and prefix setting.
293 </para>
294 <indexterm zone="curl curl-config">
295 <primary sortas="b-curl-config">curl-config</primary>
296 </indexterm>
297 </listitem>
298 </varlistentry>
299
300 <varlistentry id="libcurl">
301 <term><filename class="libraryfile">libcurl.so</filename></term>
302 <listitem>
303 <para>
304 provides the API functions required by
305 <command>curl</command> and other programs.
306 </para>
307 <indexterm zone="curl libcurl">
308 <primary sortas="c-libcurl">libcurl.so</primary>
309 </indexterm>
310 </listitem>
311 </varlistentry>
312
313 </variablelist>
314
315 </sect2>
316
317</sect1>
Note: See TracBrowser for help on using the repository browser.