【Ubuntu】curl-configのインストール

【Ubuntu】curl-configのインストール サーバー

「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の動作確認について説明しました。

タイトルとURLをコピーしました