The cURL package contains an utility and a library used for transferring files with URL syntax to any of the following protocols: FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. Its ability to both download and upload files can be incorporated into other programs to support functions like streaming media.
This package is known to build and work properly using an LFS-8.1 platform.
Download (HTTP): https://curl.haxx.se/download/curl-7.55.1.tar.xz
Download MD5 sum: ac4a59c38c47adc160ea71eace20257b
Download size: 2.1 MB
Estimated disk space required: 36 MB (additional 11 MB for tests)
Estimated build time: 0.3 SBU (additional 4.3 SBU for tests)
Certificate Authority Certificates (runtime) and OpenSSL-1.1.0f
c-ares-1.12.0, GnuTLS-3.5.14, MIT Kerberos V5-1.15.1, nghttp2-1.25.0, OpenLDAP-2.4.45, Samba-4.6.7, libidn2, libmetalink, libpsl, librtmp, libssh2, mbed TLS (formerly known as PolarSSL), and SPNEGO
stunnel-5.42 (for the HTTPS and FTPS tests) and Valgrind-3.13.0
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/curl
Install cURL by running the following commands:
./configure --prefix=/usr \ --disable-static \ --enable-threaded-resolver \ --with-ca-path=/etc/ssl/certs && make
To run the tests for this package, valgrind requires a version of the /lib/ld-2.23.so (or later) library with debugging symbols present. Normally in LFS these debugging symbols are stripped at the end of Chapter 6. To get this library, glibc must be rebuilt with the current glibc version using the same compiler that was used to build LFS. The ld-2.23.so can then be renamed to ld-2.23.so.dbg and copied to /lib. Then a symlink needs to be changed:
ln -sfv ld-2.23.so.dbg /lib/ld-linux-x86-64.so.2
Adjust the above instruction as needed for a 32-bit system or for a different version of glibc.
To run the test suite, issue: make test.
Now, as the root
user:
make install && rm -rf docs/examples/.deps && find docs \( -name Makefile\* \ -o -name \*.1 \ -o -name \*.3 \) \ -exec rm {} \; && install -v -d -m755 /usr/share/doc/curl-7.55.1 && cp -v -R docs/* /usr/share/doc/curl-7.55.1
Simple tests to the new installed curl: curl --trace-ascii debugdump.txt
http://www.example.com/ and curl --trace-ascii d.txt --trace-time
http://example.com/. Inspect the locally created
trace files debugdump.txt
and
d.txt
, which contain version
downloaded files information, etc. One file has the time for each
action logged.
--disable-static
: This
switch prevents installation of static versions of the libraries.
--enable-threaded-resolver
:
This switch enables cURL's builtin
threaded DNS resolver.
--with-ca-path=/etc/ssl/certs
: This
switch sets the location of the BLFS Certificate Authority
Certificates.
--with-gssapi
: This parameter adds
Kerberos 5 support to libcurl
.
--without-ssl --with-gnutls
: Use to
build with GnuTLS support instead
of OpenSSL for SSL/TLS.
--with-ca-bundle=/etc/ssl/ca-bundle.crt
: Use this
switch instead of --with-ca-path
if building with
GnuTLS support instead of
OpenSSL for SSL/TLS.
find docs ... -exec rm {}
\;: This command removes Makefiles
and man files from the documentation
directory that would otherwise be installed by the commands that
follow.
Last updated on 2017-08-18 14:56:07 -0700