Armadilloフォーラム

ATDE5上でのビルドでlibcurlが見つからないエラー

kishikawa_kit

2017年9月8日 1時56分

いつもお世話になっております。
岸川と申します。

下記のサイトの作成手順を参考に、C言語でArmadillo-IoT G3とAzure Iot Suiteとの通信を行うプログラムを作成しようとしています。
https://github.com/Azure/azure-iot-device-ecosystem/blob/master/get_sta…

場所としては上記サイトの「3.1 Build SDK and sample with ATDE」になりますが、ATDE5上にてSDKのビルドを行うとlibcurlが見つからないというエラーが発生します。

-- Checking for module 'libcurl'
-- No package 'libcurl' found
-- Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)

しかしcurlのバージョンを確認すると以下のようにインストールされていることが確認できます。

curl 7.26.0 (x86_64-pc-linux-gnu) libcurl/7.26.0 OpenSSL/1.0.1t zlib/1.2.7 libidn/1.25 libssh2/1.4.2 librtmp/2.3

当方、Linuxでの開発経験が浅く、手順で書かれている以外にやるべきことが欠けているのかもしれませんが、
エラー解消の方法についてご教授願えませんでしょうか。

以上、よろしくお願い致します。

コメント

溝渕です。

> https://github.com/Azure/azure-iot-device-ecosystem/blob/master/get_sta…

上記の「Prepare your development environment」を参照して、armhfアーキテクチャ用のlibcurlをインストールしてみてください。
# 試したわけではないので解決するかどうかわかりませんが

> しかしcurlのバージョンを確認すると以下のようにインストールされていることが確認できます。
>
> curl 7.26.0 (x86_64-pc-linux-gnu) libcurl/7.26.0 OpenSSL/1.0.1t zlib/1.2.7 libidn/1.25 libssh2/1.4.2 librtmp/2.3

上記はホストアーキテクチャ(x86_64)用のcurlです。恐らく必要であるのは、ターゲットアーキテクチャ(armhf)用のlibcurlです。

溝渕様

コメントありがとうございます。

> 上記の「Prepare your development environment」を参照して、armhfアーキテクチャ用のlibcurlをインストールしてみてください。

もちろんその手順も行っておりますが、一番下の手順でlinuxcurl4-openssl-dev のdpkgの際、linuxcurl4-gnutis-dev-armhf-crossとlinuxcurl4-openssl-dev- armhf-crossが競合する警告が出ます。
これがインストールができていない原因かと思われます。

なお、手順では「wheezy13」となっていますが、現在は「wheezy20」が正しいようです。
ATDEを入れなおしても上記問題は解決できません。
現在はHTTPSを使用せずにビルドする方法で回避しております。