10

Linuxarm-v5te-linux-gnueabiツールチェーン用のopensslのクロスコンパイル。私はバージョンopenssl-0.9.8rを試しました

./Configure --prefix=/usr --openssldir=/usr/sbin threads zlib shared no-asm linux-armv4

export CROSS_COMPILE=arm-v5te-linux-gnueabi-

しかし、役に立たない。

それをopensslバイナリにクロスコンパイルするために従うべき基本的な手順が大いに必要です。私はすでにリンク全体で複数の提案を試したので、切実に新しい質問を開く必要があります。

助けてください

4

3 に答える 3

12

これは機能します:

./Configure linux-generic32 shared  -DL_ENDIAN --prefix=/home --openssldir=/home
make CC=arm-v4t-linux-gnueabi-gcc RANLIB=arm-v4t-linux-gnueabi-ranlib LD=arm-v4t-linux-gnueabi-ld MAKEDEPPROG=arm-v4t-linux-gnueabi-gcc PROCESSOR=ARM
于 2013-04-03T09:25:46.363 に答える
10

同じ問題が発生し、armのopensslをクロスコンパイルする方法のマニュアルを作成しました。このマニュアルがあなたにいくつかのアイデアを与えることを願っています:

プロセスは非常に簡単です。このマニュアルでは、UbuntuLinuxシステムでARMアーキテクチャ用のOPENSSLをクロスコンパイルする例を示します。

  1. クロスコンパイラ

ARMアーキテクチャ用のGNUC/C++コンパイラが必要になります。

$ sudo apt-get install gcc-4.8-arm-linux-gnueabihf g ++-4.8-arm-linux-gnueabihf

  1. opensslソースコード(バージョン1.1.1)

ビルドするopensslは、https://github.com/openssl/opensslで入手できます。

$ git clone https://github.com/openssl/openssl.git

  1. 構成

opensslフォルダーに移動し、次のように./configureを実行します。

$ ./Configure linux-armv4 --prefix = / usr / local / openssl / --openssldir = / usr / local / openssl shared

この構成は、このopensslでサポートされる唯一の利用可能なARMプラットフォームであるターゲットプラットフォームlinux-armv4を設定します。--prefix = / usr / local / opensslは、インストールファイルを配置する場所を示します。--openssldir = / usr / local / opensslは、opensslインストールのルートディレクトリを定義します。sharedは、コンパイラに.soライブラリファイルを生成させます。フォルダーopensslの下のドキュメントINSTALLには、。/Configureのパラメーターが含まれています。

  1. コンパイル

$ make CC = arm-linux-gnueabihf-gcc-4.8

CCは、使用するクロスコンパイラーを指示します。デフォルトのコンパイラはgccです。

  1. インストール

$ make install

  1. 出力

インストール後、/ usr / local/opensslの下に次のファイルとフォルダーがあります。

$ ls / usr / local / openssl

置き場

ct_log_list.cnf

含む

その他

openssl.cnf.dist

証明書を共有する

ct_log_list.cnf.dist

lib

openssl.cnf

プライベート

  1. 終わり

実行可能バイナリがARM用にビルドされていることを確認してください。

$ファイル/usr/ local / openssl / bin / openssl

install-arm / bin / openssl:ELF 32ビットLSB実行可能ファイル、ARM、EABI5バージョン1(SYSV)、動的リンク、インタープリター/lib/ld-linux-armhf.so.3、GNU / Linux 3.2.0、BuildID [sha1] = a23306c9c8bd553183fc20a37a60dcac8291da91、削除されていません

上記のようなものが表示された場合は、ARMシステムのopensslを正常にクロスコンパイルしています。

于 2017-04-10T02:53:10.387 に答える
0
./Configure linux-armv4 --cross-compile-prefix=arm-v5te-linux-gnueabi- --prefix=/usr
make
于 2021-05-14T05:29:14.973 に答える