sasa0107
2016年7月5日 11時49分
笹倉と申します。
いつもお世話になり、有難うございます。
SSLのライブラリーに関してですが、
G2ではライブラリーが有り、ATDE5上で、クロスコンパイラー
arm-linux-gnueabi-gcc
を使用してSSLライブラリーをリンクしておりました。
G3を購入致しまして、同じソフトをATDE6上で、クロスコンパイラー
arm-linux-gnueabihf-gcc
を行いますと、
arm-linux-gnueabihf-gcc -Wall -D__LINUX__ -O3 -I. -DUSE_WEBSOCKET=1 -DUCLINUX=1 -DUSE_SSL=1 -o aaa src1.o libcogentcetk.a -lrt -lssl -lcrypto -ldl -lm
/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/bin/ld: -lssl が見つかりません
/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/bin/ld: -lcrypto が見つかりません
とのエラーが発生します。
dpkg -l |grep libssl|grep cross
で確認しましたところ、
G2で使用しているATDE5では、
ii libssl-dev-armel-cross 1.0.1e-2+deb7u14 all SSL development libraries, header files and documentation (for cross-compiling)
ii libssl-dev-armhf-cross 1.0.1e-2+deb7u14 all SSL development libraries, header files and documentation (for cross-compiling)
ii libssl1.0.0-armel-cross 1.0.1e-2+deb7u14 all SSL shared libraries (for cross-compiling)
ii libssl1.0.0-armhf-cross 1.0.1e-2+deb7u14 all SSL shared libraries (for cross-compiling)
と表示されますが、G3で使用しているATDE6では何も表示しません。
G3で使用しているATDE6では、SSLのライブラリーをSSLのサイトからダウンロードする必要が
有るのでしょうか。それとも展開したATDE6の展開の仕方に問題があったのでしょうか。
ご教授お願い致します。
コメント
sasa0107
笹倉です。
花田様、ご回答有難うございます。
試してみます。
> 花田です。これ回答ついてなかったんですね、遅くてすみません。
>
> > /usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/bin/ld: -lssl が見つかりません
> > /usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/bin/ld: -lcrypto が見つかりません
> > とのエラーが発生します。
>
> お気づきの通りarmhf用のライブラリが必要です。
>
> > dpkg -l |grep libssl|grep cross
> > で確認しましたところ、
> > G2で使用しているATDE5では、
> > ii libssl-dev-armel-cross 1.0.1e-2+deb7u14 all SSL development libraries, header files and documentation (for cross-compiling)
> > ii libssl-dev-armhf-cross 1.0.1e-2+deb7u14 all SSL development libraries, header files and documentation (for cross-compiling)
> > ii libssl1.0.0-armel-cross 1.0.1e-2+deb7u14 all SSL shared libraries (for cross-compiling)
> > ii libssl1.0.0-armhf-cross 1.0.1e-2+deb7u14 all SSL shared libraries (for cross-compiling)
> > と表示されますが、G3で使用しているATDE6では何も表示しません。
>
> ATDE5ではクロスパッケージ化されたライブラリが入っていますが、ATDE6はmultiarch環境というものになっていますので、通常この名前のような形では入りません。
>
>
> atmark@atde6:~$ dpkg -l libssl\* > 要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持 > | 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留 > |/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常) > ||/ 名前 バージョン アーキテクチャ 説明 > +++-===============================-====================-====================-==================================================================== > ii libssl1.0.0:i386 1.0.1t-1+deb8u2 i386 Secure Sockets Layer toolkit - shared libraries >
>
> ATDE6の標準状態ではこんな風にi386用のlibssl1.0.0しか入っていませんので、armhf用ライブラリを追加インストールします。
>
>
> root@atde6:/home/atmark# apt-get install libssl-dev:armhf >
>
> 通常はネイティブのアーキテクチャ(i386やamd64)用のパッケージがインストールされますが、:(コロン)の後ろに書けば他アーキテクチャ用を指定できるわけです。
> インストール後はこんな感じになります。
>
>
> atmark@atde6:~$ dpkg -l libssl\* > 要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持 > | 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留 > |/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常) > ||/ 名前 バージョン アーキテクチャ 説明 > +++-===============================-====================-====================-==================================================================== > ii libssl-dev:armhf 1.0.1t-1+deb8u2 armhf Secure Sockets Layer toolkit - development files > un libssl-doc <なし> <なし> (説明 (description) がありません) > ii libssl1.0.0:armhf 1.0.1t-1+deb8u2 armhf Secure Sockets Layer toolkit - shared libraries > ii libssl1.0.0:i386 1.0.1t-1+deb8u2 i386 Secure Sockets Layer toolkit - shared libraries >
sasa0107
笹倉です。
花田様、
お世話になります。
解決致しました。
有難うございました。
> 笹倉です。
> 花田様、ご回答有難うございます。
> 試してみます。
> > 花田です。これ回答ついてなかったんですね、遅くてすみません。
> >
> > > /usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/bin/ld: -lssl が見つかりません
> > > /usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/bin/ld: -lcrypto が見つかりません
> > > とのエラーが発生します。
> >
> > お気づきの通りarmhf用のライブラリが必要です。
> >
> > > dpkg -l |grep libssl|grep cross
> > > で確認しましたところ、
> > > G2で使用しているATDE5では、
> > > ii libssl-dev-armel-cross 1.0.1e-2+deb7u14 all SSL development libraries, header files and documentation (for cross-compiling)
> > > ii libssl-dev-armhf-cross 1.0.1e-2+deb7u14 all SSL development libraries, header files and documentation (for cross-compiling)
> > > ii libssl1.0.0-armel-cross 1.0.1e-2+deb7u14 all SSL shared libraries (for cross-compiling)
> > > ii libssl1.0.0-armhf-cross 1.0.1e-2+deb7u14 all SSL shared libraries (for cross-compiling)
> > > と表示されますが、G3で使用しているATDE6では何も表示しません。
> >
> > ATDE5ではクロスパッケージ化されたライブラリが入っていますが、ATDE6はmultiarch環境というものになっていますので、通常この名前のような形では入りません。
> >
> >
> > atmark@atde6:~$ dpkg -l libssl\* > > 要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持 > > | 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留 > > |/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常) > > ||/ 名前 バージョン アーキテクチャ 説明 > > +++-===============================-====================-====================-==================================================================== > > ii libssl1.0.0:i386 1.0.1t-1+deb8u2 i386 Secure Sockets Layer toolkit - shared libraries > >
> >
> > ATDE6の標準状態ではこんな風にi386用のlibssl1.0.0しか入っていませんので、armhf用ライブラリを追加インストールします。
> >
> >
> > root@atde6:/home/atmark# apt-get install libssl-dev:armhf > >
> >
> > 通常はネイティブのアーキテクチャ(i386やamd64)用のパッケージがインストールされますが、:(コロン)の後ろに書けば他アーキテクチャ用を指定できるわけです。
> > インストール後はこんな感じになります。
> >
> >
> > atmark@atde6:~$ dpkg -l libssl\* > > 要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持 > > | 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留 > > |/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常) > > ||/ 名前 バージョン アーキテクチャ 説明 > > +++-===============================-====================-====================-==================================================================== > > ii libssl-dev:armhf 1.0.1t-1+deb8u2 armhf Secure Sockets Layer toolkit - development files > > un libssl-doc <なし> <なし> (説明 (description) がありません) > > ii libssl1.0.0:armhf 1.0.1t-1+deb8u2 armhf Secure Sockets Layer toolkit - shared libraries > > ii libssl1.0.0:i386 1.0.1t-1+deb8u2 i386 Secure Sockets Layer toolkit - shared libraries > >
at_hanada
2016年7月11日 16時20分
花田です。これ回答ついてなかったんですね、遅くてすみません。
> /usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/bin/ld: -lssl が見つかりません
> /usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/bin/ld: -lcrypto が見つかりません
> とのエラーが発生します。
お気づきの通りarmhf用のライブラリが必要です。
> dpkg -l |grep libssl|grep cross
> で確認しましたところ、
> G2で使用しているATDE5では、
> ii libssl-dev-armel-cross 1.0.1e-2+deb7u14 all SSL development libraries, header files and documentation (for cross-compiling)
> ii libssl-dev-armhf-cross 1.0.1e-2+deb7u14 all SSL development libraries, header files and documentation (for cross-compiling)
> ii libssl1.0.0-armel-cross 1.0.1e-2+deb7u14 all SSL shared libraries (for cross-compiling)
> ii libssl1.0.0-armhf-cross 1.0.1e-2+deb7u14 all SSL shared libraries (for cross-compiling)
> と表示されますが、G3で使用しているATDE6では何も表示しません。
ATDE5ではクロスパッケージ化されたライブラリが入っていますが、ATDE6はmultiarch環境というものになっていますので、通常この名前のような形では入りません。
ATDE6の標準状態ではこんな風にi386用のlibssl1.0.0しか入っていませんので、armhf用ライブラリを追加インストールします。
通常はネイティブのアーキテクチャ(i386やamd64)用のパッケージがインストールされますが、:(コロン)の後ろに書けば他アーキテクチャ用を指定できるわけです。
インストール後はこんな感じになります。