「curl-configをインストールしたい」
「curl(libcurl)のビルド条件を確認したい」
「No such file or directory: ‘curl-config’というエラーが出て困っている」
このような場合には、この記事の内容が参考となります。
この記事では、curl-configのインストール方法を解説しています。
本記事の内容
- curl-configとは?
- curl-configのインストール
- curl-configの動作確認
それでは、上記に沿って解説していきます。
curl-configとは?
curl-configは、libcurlのインストールに関する情報を取得するためのツールです。
libcurlは、フリーで使いやすいクライアントサイドURL転送ライブラリになります。
そして、curlはそのlibcurlを利用したコマンドラインツールです。
それぞれの関係性は、イメージできたでしょうか?
とにかく、curl-configはcurlの設定を確認できると覚えれば十分でしょう。
では、curl-configはデフォルトでインストールされているのでしょうか?
「curl-config」コマンドを実行してみます。
$ curl-config コマンド 'curl-config' が見つかりません。次の方法でインストールできます: sudo apt install libcurl4-gnutls-dev # version 7.68.0-1ubuntu4.3, or sudo apt install libcurl4-nss-dev # version 7.68.0-1ubuntu4.3 sudo apt install libcurl4-openssl-dev # version 7.68.0-1ubuntu4.3
Ubuntuでは、デフォルトではインストールされていませんね。
このことは、Ubuntu 20.04 LTS、Ubuntu 21.04で確認しました。
以上、curl-configについて説明しました。
次は、curl-configをインストールします。
curl-configのインストール
curl-configは、以下のどれかをインストールすればよいことはわかりました。
それぞれの違いは、libcurlがどの暗号化技術(SSL)に依存しているかということです。
- libcurl4-gnutls-dev
- libcurl4-nss-dev
- libcurl4-openssl-dev
でも、どのパッケージをインストールすればよいのか悩みます。
この場合は、すでにインストール済みのcurlコマンドを利用します。
$ curl --version curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.9 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh/0.9.3/openssl/zlib nghttp2/1.41.0 librtmp/2.3 Release-Date: 2020-01-08 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp Features: AsynchDNS brotli GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets
上記結果では、「OpenSSL」という表記を確認できます。
よって、今回は「libcurl4-openssl-dev」をインストールします。
libcurl4-openssl-devの内容を確認しておきます。
$ sudo apt info libcurl4-openssl-dev Package: libcurl4-openssl-dev Version: 7.68.0-1ubuntu4.3 Priority: optional Section: libdevel Source: curl Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Alessandro Ghedini <ghedo@debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 1,546 kB Provides: libcurl-dev, libcurl-ssl-dev, libcurl3-dev, libcurl3-openssl-dev, libcurl4-dev Depends: libcurl4 (= 7.68.0-1ubuntu4.3) Suggests: libcurl4-doc, libidn11-dev, libkrb5-dev, libldap2-dev, librtmp-dev, libssh2-1-dev, libssl-dev (>= 1.1), pkg-config, zlib1g-dev Conflicts: libcurl4-gnutls-dev, libcurl4-nss-dev, libssl-dev (<< 1.1), libssl1.0-dev Homepage: http://curl.haxx.se Download-Size: 321 kB APT-Sources: http://old-releases.ubuntu.com/ubuntu groovy-updates/main amd64 Packages Description: development files and documentation for libcurl (OpenSSL flavour) libcurl は使いやすいクライアントサイドの URL 転送ライブラリで、DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET, TFTP をサポートしています。 . libcurl は、SSL 証明書、HTTP POST、HTTP PUT、FTP アップロード、HTTP フォームベースのアップロード、プロキシ、cookie、ユーザ名+パスワード認証 (Basic, Digest, NTLM, Negotiate, Kerberos)、ファイル転送の再開、http プロキシの トンネリングなどをサポートしています! . libcurl はフリーで、スレッドセーフで、IPv6 互換で、機能豊富であり、良好な サポートが行われており、高速で、ドキュメントが詳しく、また、多くの有名な 大企業や無数のアプリケーションが既に使用しています。 . This package provides the development files (ie. includes, static library, manual pages) that allow one to build software which uses libcurl. . SSL のサポートは、OpenSSL により提供されています。
インストールしても問題なさそうです。
では、対象のパッケージをインストールします。
まずは、事前に以下を実行。
$ sudo apt update
そして、インストールコマンドを実行します。
$ sudo apt install libcurl4-openssl-dev
インストールは、それほど時間がかかりません。
以上、curl-configのインストールを説明しました。
次は、curl-configの動作確認を行います。
curl-configの動作確認
最初にヘルプを見ましょう。
$ curl-config --help Usage: curl-config [OPTION] Available values for OPTION include: --built-shared says 'yes' if libcurl was built shared --ca ca bundle install path --cc compiler --cflags pre-processor and compiler flags --checkfor [version] check for (lib)curl of the specified version --configure the arguments given to configure when building curl --features newline separated list of enabled features --help display this help and exit --libs library linking information --prefix curl install prefix --protocols newline separated list of enabled protocols --ssl-backends output the SSL backends libcurl was built to support --static-libs static libcurl library linking information --version output version information --vernum output the version information as a number (hexadecimal)
libcurlのバージョンを確認してみます。
$ curl-config --version libcurl 7.68.0
インストールしたパッケージと同じバージョンですね。
では、libcurlのビルド時の設定を確認しましょう。
$ curl-config --configure '--build='`dpkg-architecture -qDEB_BUILD_GNU_TYPE` '--prefix=/usr' '--includedir=/usr/include' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-option-checking' '--disable-silent-rules' '--libdir=/usr/lib/'`dpkg-architecture -qDEB_HOST_MULTIARCH` '--runstatedir=/run' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-symbol-hiding' '--enable-versioned-symbols' '--enable-threaded-resolver' '--with-lber-lib=lber' '--with-gssapi=/usr' '--with-libssh2' '--with-nghttp2' '--includedir=/usr/include/'`dpkg-architecture -qDEB_HOST_MULTIARCH` '--with-zsh-functions-dir=/usr/share/zsh/vendor-completions' '--without-libssh2' '--with-libssh' '--with-ca-path=/etc/ssl/certs' '--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt' 'build_alias='`dpkg-architecture -qDEB_BUILD_GNU_TYPE` 'CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'
curl-configの動作確認としては、問題ありません。
以上、curl-configの動作確認について説明しました。