source: networking/netlibs/curl.xml@ 882f9d7

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 882f9d7 was 4c3c7f43, checked in by Pierre Labastie <pieere@…>, 7 years ago

Nitpick, when a link needs an explanation in parentheses, do not put that
explanation in the linl text

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

  • Property mode set to 100644
File size: 9.8 KB
RevLine 
[bf8ac01]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[a2d8572]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
[8e2075c]6
[92d2b83]7 <!ENTITY curl-download-http "https://curl.haxx.se/download/curl-&curl-version;.tar.xz">
[2b8421c]8 <!ENTITY curl-download-ftp " ">
[2de0145]9 <!ENTITY curl-md5sum "ac4a59c38c47adc160ea71eace20257b">
[92d2b83]10 <!ENTITY curl-size "2.1 MB">
[2de0145]11 <!ENTITY curl-buildsize "36 MB (additional 11 MB for tests)">
12 <!ENTITY curl-time "0.3 SBU (additional 4.3 SBU for tests)">
[a2d8572]13]>
14
[377584f]15<sect1 id="curl" xreflabel="cURL-&curl-version;">
[bf8ac01]16 <?dbhtml filename="curl.html"?>
[dc775a26]17
[bf8ac01]18 <sect1info>
19 <othername>$LastChangedBy$</othername>
[55329727]20 <date>$Date$</date>
[bf8ac01]21 </sect1info>
[dc775a26]22
[3e89149]23 <title>cURL-&curl-version;</title>
[dc775a26]24
[bf8ac01]25 <indexterm zone="curl">
[3e89149]26 <primary sortas="a-cURL">cURL</primary>
[bf8ac01]27 </indexterm>
[dc775a26]28
[bf8ac01]29 <sect2 role="package">
[3e89149]30 <title>Introduction to cURL</title>
[dc775a26]31
[355495ce]32 <para>
[587dc526]33 The <application>cURL</application> package contains an utility
[ea21196]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.
[355495ce]39 </para>
[dc775a26]40
[4bf60a36]41 &lfs81_checked;
[2b8421c]42
[bf8ac01]43 <bridgehead renderas="sect3">Package Information</bridgehead>
[874fec7f]44 <itemizedlist spacing="compact">
[bf8ac01]45 <listitem>
[355495ce]46 <para>
47 Download (HTTP): <ulink url="&curl-download-http;"/>
48 </para>
[bf8ac01]49 </listitem>
50 <listitem>
[355495ce]51 <para>
52 Download (FTP): <ulink url="&curl-download-ftp;"/>
53 </para>
[bf8ac01]54 </listitem>
55 <listitem>
[355495ce]56 <para>
57 Download MD5 sum: &curl-md5sum;
58 </para>
[bf8ac01]59 </listitem>
60 <listitem>
[355495ce]61 <para>
62 Download size: &curl-size;
63 </para>
[bf8ac01]64 </listitem>
65 <listitem>
[355495ce]66 <para>
67 Estimated disk space required: &curl-buildsize;
68 </para>
[bf8ac01]69 </listitem>
70 <listitem>
[355495ce]71 <para>
72 Estimated build time: &curl-time;
73 </para>
[bf8ac01]74 </listitem>
75 </itemizedlist>
[dc775a26]76
[58d5000]77<!-- Tests seem to pass without any patch
[cb6f557]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>
[58d5000]87-->
[3e89149]88 <bridgehead renderas="sect3">cURL Dependencies</bridgehead>
[dc775a26]89
[355495ce]90 <bridgehead renderas="sect4">Recommended</bridgehead>
91 <para role="recommended">
[b2d0e3d]92 <xref linkend="cacerts"/> (runtime) and
[2eb903f]93 <xref linkend="openssl"/>
[355495ce]94 </para>
95
[bf8ac01]96 <bridgehead renderas="sect4">Optional</bridgehead>
[355495ce]97 <para role="optional">
[4464d405]98 <xref linkend="c-ares"/>,
[2eb903f]99 <xref linkend="gnutls"/>,
[355495ce]100 <xref linkend="mitkrb"/>,
[0c702b61]101 <xref linkend="nghttp2"/>,
[fad8db2]102 <xref linkend="openldap"/>,
[4949bda0]103 <xref linkend="samba"/>,
[e519fef]104 <ulink url="https://www.gnu.org/software/libidn/#libidn2/">libidn2</ulink>,
[fad8db2]105 <ulink url="https://launchpad.net/libmetalink/">libmetalink</ulink>,
[67cc05e]106 <ulink url="https://github.com/rockdaboot/libpsl">libpsl</ulink>,
107 <ulink url="http://rtmpdump.mplayerhq.hu/">librtmp</ulink>,
[551baf16]108 <ulink url="http://www.libssh2.org">libssh2</ulink>,
[4c3c7f43]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>
[355495ce]112 </para>
113
114 <bridgehead renderas="sect4">Optional for Running the Test Suite</bridgehead>
115 <para role="optional">
[f346a49]116 <xref linkend="stunnel"/> (for the HTTPS and FTPS tests) and
117 <xref linkend="valgrind"/>
[355495ce]118 </para>
[c5e7d76]119
[061ec9d]120 <para condition="html" role="usernotes">User Notes:
[355495ce]121 <ulink url="&blfs-wiki;/curl"/>
122 </para>
[bf8ac01]123 </sect2>
[dc775a26]124
[bf8ac01]125 <sect2 role="installation">
[3e89149]126 <title>Installation of cURL</title>
[dc775a26]127
[355495ce]128 <para>
129 Install <application>cURL</application> by running the following
130 commands:
131 </para>
[dc775a26]132
[58d5000]133<screen><userinput>./configure --prefix=/usr \
[30b7db74]134 --disable-static \
135 --enable-threaded-resolver \
[038b4c75]136 --with-ca-path=/etc/ssl/certs &amp;&amp;
[bf8ac01]137make</userinput></screen>
[dc775a26]138
[8ffdb08]139<!--
[58d5000]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
[8ffdb08]143
144 <para>
[2ca3997]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:
[355495ce]148 </para>
[8ffdb08]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 Normally in LFS these debugging symbols are stripped at the end of
155 Chapter 6. To get this library, glibc must be rebuilt with the current
156 glibc version using the same compiler that was used to build LFS. The
157 ld-2.23.so can then be renamed to ld-2.23.so.dbg and copied to /lib. Then
158 a symlink needs to be changed:
159 </para>
160
161 <screen role="nodump"><userinput>ln -sfv ld-2.23.so.dbg /lib/ld-linux-x86-64.so.2</userinput></screen>
162
163 <para>
164 Adjust the above instruction as needed for a 32-bit system
[e4ca0af7]165 or for a different version of glibc.
[8ffdb08]166 </para>
167 </note>
[ffa8c7f]168
169 <para>
[8ffdb08]170 To run the test suite, issue: <command>make test</command>.
[2ca3997]171 </para>
[f346a49]172
[355495ce]173 <para>
174 Now, as the <systemitem class="username">root</systemitem>
175 user:
176 </para>
[dc775a26]177
[874fec7f]178<screen role="root"><userinput>make install &amp;&amp;
[5ee1266]179
[b5969599]180rm -rf docs/examples/.deps &amp;&amp;
181
[5ee1266]182find docs \( -name Makefile\* \
183 -o -name \*.1 \
184 -o -name \*.3 \) \
185 -exec rm {} \; &amp;&amp;
[e4ca0af7]186install -v -d -m755 /usr/share/doc/curl-&curl-version; &amp;&amp;
[d832a872]187cp -v -R docs/* /usr/share/doc/curl-&curl-version;</userinput></screen>
[0c02dcb]188
189 <para>
190 Simple tests to the new installed <command>curl</command>:
191 <command>curl --trace-ascii debugdump.txt http://www.example.com/</command>
192 and
193 <command>curl --trace-ascii d.txt --trace-time http://example.com/</command>.
194 Inspect the locally created trace files <filename>debugdump.txt</filename>
195 and <filename>d.txt</filename>, which contain version downloaded
196 files information, etc. One file has the time for each action logged.
197 </para>
[bf8ac01]198 </sect2>
[dc775a26]199
[bf8ac01]200 <sect2 role="commands">
201 <title>Command Explanations</title>
[dc775a26]202
[c627795]203 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
204 href="../../xincludes/static-libraries.xml"/>
[5ee1266]205
[fdd7a91]206 <para>
207 <parameter>--enable-threaded-resolver</parameter>: This switch enables
208 <application>cURL</application>'s builtin threaded DNS resolver.
209 </para>
210
[30b7db74]211 <para>
[038b4c75]212 <parameter>--with-ca-path=/etc/ssl/certs</parameter>: This
213 switch sets the location of the BLFS <xref linkend="cacerts"/>.
[30b7db74]214 </para>
215
[355495ce]216 <para>
217 <option>--with-gssapi</option>: This parameter adds
218 <application>Kerberos 5</application> support to
219 <filename class="libraryfile">libcurl</filename>.
220 </para>
221
222 <para>
223 <option>--without-ssl --with-gnutls</option>: Use to
224 build with <application>GnuTLS</application> support
225 instead of <application>OpenSSL</application> for SSL/TLS.
226 </para>
[b834dfc7]227
[038b4c75]228 <para>
[0e29df6]229 <option>--with-ca-bundle=/etc/ssl/ca-bundle.crt</option>: Use
[038b4c75]230 this switch instead of <parameter>--with-ca-path</parameter> if
231 building with <application>GnuTLS</application> support
232 instead of <application>OpenSSL</application> for SSL/TLS.
233 </para>
234
[355495ce]235 <para>
[5ee1266]236 <command>find docs ... -exec rm {} \;</command>: This command removes
[355495ce]237 <filename>Makefiles</filename> and man files from the documentation
[4949bda0]238 directory that would otherwise be installed by the commands that follow.
[355495ce]239 </para>
[32a8ca3]240
[bf8ac01]241 </sect2>
[dc775a26]242
[bf8ac01]243 <sect2 role="content">
244 <title>Contents</title>
[dc775a26]245
[bf8ac01]246 <segmentedlist>
247 <segtitle>Installed Programs</segtitle>
248 <segtitle>Installed Library</segtitle>
249 <segtitle>Installed Directories</segtitle>
[dc775a26]250
[bf8ac01]251 <seglistitem>
[355495ce]252 <seg>
[038b4c75]253 curl, and curl-config
[355495ce]254 </seg>
255 <seg>
256 libcurl.so
257 </seg>
258 <seg>
259 /usr/include/curl and
260 /usr/share/doc/curl-&curl-version;
261 </seg>
[bf8ac01]262 </seglistitem>
263 </segmentedlist>
[dc775a26]264
[bf8ac01]265 <variablelist>
266 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
267 <?dbfo list-presentation="list"?>
268 <?dbhtml list-presentation="table"?>
[dc775a26]269
[bf8ac01]270 <varlistentry id="curl-prog">
271 <term><command>curl</command></term>
272 <listitem>
[355495ce]273 <para>
274 is a command line tool for transferring files with URL syntax.
[32a8ca3]275 </para>
[bf8ac01]276 <indexterm zone="curl curl-prog">
277 <primary sortas="b-curl">curl</primary>
278 </indexterm>
279 </listitem>
280 </varlistentry>
[dc775a26]281
[bf8ac01]282 <varlistentry id="curl-config">
283 <term><command>curl-config</command></term>
284 <listitem>
[355495ce]285 <para>
286 prints information about the last compile, like libraries
287 linked to and prefix setting.
288 </para>
[bf8ac01]289 <indexterm zone="curl curl-config">
290 <primary sortas="b-curl-config">curl-config</primary>
291 </indexterm>
292 </listitem>
293 </varlistentry>
[dc775a26]294
[bf8ac01]295 <varlistentry id="libcurl">
[874fec7f]296 <term><filename class="libraryfile">libcurl.so</filename></term>
[bf8ac01]297 <listitem>
[355495ce]298 <para>
299 provides the API functions required by
300 <command>curl</command> and other programs.
301 </para>
[bf8ac01]302 <indexterm zone="curl libcurl">
[874fec7f]303 <primary sortas="c-libcurl">libcurl.so</primary>
[bf8ac01]304 </indexterm>
305 </listitem>
306 </varlistentry>
[355495ce]307
[bf8ac01]308 </variablelist>
[355495ce]309
[bf8ac01]310 </sect2>
[355495ce]311
[f45b1953]312</sect1>
Note: See TracBrowser for help on using the repository browser.