Introduction to cURL

The cURL package contains a 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-7.6 systemd platform.

Package Information

  • Download (HTTP):

  • Download MD5 sum: 95c627abcf6494f5abe55effe7cd6a57

  • Download size: 3.1 MB

  • Estimated disk space required: 40 MB (additional 7 MB for tests)

  • Estimated build time: 0.4 SBU (additional 8.2 SBU for tests)

cURL Dependencies



libidn-1.29, MIT Kerberos V5-1.12.2, OpenLDAP-2.4.39, c-ares, libmetalink, libssh2, and SPNEGO

Optional for Running the Test Suite

stunnel-5.03 (for the HTTPS and FTPS tests) and Valgrind-3.10.0

User Notes:

Installation of cURL

Install cURL by running the following commands:

./configure --prefix=/usr              \
            --disable-static           \
            --enable-threaded-resolver &&

To test the results, issue: make test. Tests need many conditions to run successfully, and some may fail. Usually, each failed test takes a long time. If you wish to disable some tests, include them in the appropriate file and run the tests again:

cat >> tests/data/DISABLED << "EOF"

Now, as the root user:

make install &&
find docs \( -name "Makefile*" -o -name "*.1" -o -name "*.3" \) -exec rm {} \; &&
install -v -d -m755 /usr/share/doc/curl-7.37.1 &&
cp -v -R docs/*     /usr/share/doc/curl-7.37.1

Command Explanations

--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-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.

find docs \( -name "Makefile*" -o -name "*.1" -o -name "*.3" \) -exec rm {} \;: This command removes Makefiles and man files from the documentation directory that would otherwise be installed by the commands that follow.


Installed Programs: curl and curl-config
Installed Library:
Installed Directories: /usr/include/curl and /usr/share/doc/curl-7.37.1

Short Descriptions


is a command line tool for transferring files with URL syntax.


prints information about the last compile, like libraries linked to and prefix setting.

provides the API functions required by curl and other programs.

Last updated on 2014-08-23 10:08:59 -0700