Armadilloフォーラム

libssh2クロス開発用インストール手順について

miyamoto

2019年3月19日 14時17分

お世話になります。宮本と申します。
sshを利用したソケット通信を行うアプリケーションを作成したく、ATDEにクロス開発用ライブラリのインストールを行いたいです。
ネットを参考にソースからインストールを行っていますが、libssh2のコンフィグレーションで以下エラーとなります。

checking for libssl... no
configure: error: No crypto library found!
Try --with-libssl-prefix=PATH
or --with-libgcrypt-prefix=PATH
or --with-libmbedtls-prefix=PATH
or --with-wincng on Windows

libssh2のクロス開発用にインストールされた方がおられましたら手順についてご教示のほどお願いします。

【作業環境】
製品:Armadillo-640
OS:Debian stretch
Linux:4.14-at7 (atmark@atde7) (gcc version 6.3.0 20170516 (Debian 6.3.0-18))

【作業内容】
・zlib-1.2.11をクロス用インストール
・zlib-1.2.11を通常インストール
・openssl-1.0.2qをクロス用インストール
・libgpg-error-1.35をクロス用インストール
・libgcrypt-1.8.3をクロス用インストール
・libssh2-1.8.0をクロス用インストール ← ここのコンフィグレーションでエラー

コマンドについては添付(20190319_資料\command.txt)を参照ください。

ファイル ファイルの説明
20190319_資料.zip
コメント

溝渕です。

> sshを利用したソケット通信を行うアプリケーションを作成したく、ATDEにクロス開発用ライブラリのインストールを行いたいです。

次のようにaptでarmhfアーキテクチャ用のライブラリをインストールすること
ができますが、用途に合いますでしょうか。

[atde]$ sudo apt-get install libssh2-1:armhf

溝渕様

回答ありがとうございます。
問い合わせの背景として、将来的なことも考え、特定のバージョンでライブラリもFIXしたく、
ソースからのインストールを検討しておりました。

ちなみに、回答頂いたapt-getからのインストールを実施したところ、
libc6の取得に失敗します。
ATDEの環境はパッケージでご提供頂いているままの状態です。
libssh2-1をインストールする前に必要なインストールはあるのでしょうか。

[ATDE環境]
Linux atde7 4.9.0-8-686-pae #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) i686 GNU/Linux

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

溝渕です。

> 問い合わせの背景として、将来的なことも考え、特定のバージョンでライブラリもFIXしたく、
> ソースからのインストールを検討しておりました。

aptはバージョン指定でもパッケージ操作を行うことができます。ソースの改
変やビルドオプションの変更が不要の場合は利用できるかと思います。

[atde]$ sudo apt-get install libssh2-1:armhf=1.7.0-1

バージョンを固定する場合は次のようにコマンドを実行します。

[atde]$ sudo apt-mark hold libssh2-1:armhf

> ちなみに、回答頂いたapt-getからのインストールを実施したところ、
> libc6の取得に失敗します。
> ATDEの環境はパッケージでご提供頂いているままの状態です。
> libssh2-1をインストールする前に必要なインストールはあるのでしょうか。

多分ありません。aptは自動的に依存関係を解決してくれる為です。

どのようなエラーが出ているのかがわからないので、的確なアドバイスができません。

次のように実行すると解決できるかもしれません。

[atde]$ sudo apt-get update
[atde]$ sudo apt-get install libssh2-1:armhf

溝渕様

> aptはバージョン指定でもパッケージ操作を行うことができます。ソースの改
> 変やビルドオプションの変更が不要の場合は利用できるかと思います。
情報ありがとうございます。

> 次のように実行すると解決できるかもしれません。
> [atde]$ sudo apt-get update
> [atde]$ sudo apt-get install libssh2-1:armhf
上記コマンド実行にてlibssh2-1がインストールされることを確認いたしました。
コンパイル実行等確認いたします。

取り急ぎご報告となります。

溝渕様

お世話になります。宮本です。
確認にお時間いただきまして、申し訳ありません。
問題なくコンパイル、実行ファイルをa640に投入し、動作することを確認しました。

libssh2-1だけでなく、libssh2-1-dev、libssl-devも併せてインストールする必要があるようでした。
手順についてはapt-getを使用しています。

以上、ご報告です。
ご対応ありがとうございました。本件は完了とさせていただきます。