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.2 platform.
Download (HTTP): https://curl.haxx.se/download/curl-7.58.0.tar.xz
Download MD5 sum: fcf429f28adddf9295ed0c42e79cb097
Download size: 2.2 MB
Estimated disk space required: 43 MB (add 11 MB for tests without valgrind)
Estimated build time: 0.4 SBU (add 11+ SBU for tests)
make-ca-0.7 (runtime)
c-ares-1.12.0, GnuTLS-3.6.2, libidn2-2.0.4, MIT Kerberos V5-1.16, nghttp2-1.30.0, OpenLDAP-2.4.45, Samba-4.7.5, libmetalink, libpsl, librtmp, libssh2, mbed TLS (formerly known as PolarSSL), and SPNEGO
stunnel-5.44 (for the HTTPS and FTPS tests) and Valgrind-3.13.0 (this will slow the tests down)
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
        
          If running the tests for this package with valgrind, it will require a version of /lib/ld-2.[MINORVERSION].so library with debugging symbols present.
Current versions of LFS do not strip /lib/ld-[MINORVERSION].so but previous versions of LFS stripped these debugging symbols at the end of Chapter 6. To get this library on older systems, glibc must be rebuilt with the currently running glibc version using the same compiler that was used to build LFS. The ld-[MINORVERSION].so can then be renamed to ld-2.[MINORVERSION].so.dbg and copied to /lib. Then a symlink needs to be changed:
ln -sfv ld-2.[MINORVERSION].so.dbg /lib/ld-linux-x86-64.so.2
Adjust the above instruction as needed for a 32-bit system and to match your installed 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.58.0 &&
cp -v -R docs/*     /usr/share/doc/curl-7.58.0
        
          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 store.
        
          --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 2018-02-24 15:05:35 -0800