交叉编译openssl for linux arm-v5te-linux-gnueabi工具链

bud*_*ddy 7 openssl arm cross-compiling

交叉编译openssl for linux arm-v5te-linux-gnueabi工具链.我有版本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二进制文件.我已经在链接上尝试了多个建议,因此迫切需要打开一个新问题.

请帮忙

Bin*_*ing 9

我遇到了同样的问题,写了一本手册,介绍如何为arm交叉编译openssl。我希望这本手册能给你一些想法:

这个过程非常简单。在本手册中,我们将给出一个在 Ubuntu Linux 系统中为 ARM 架构交叉编译 OPENSSL 的示例。

  1. 交叉编译器

您将需要 ARM 架构的 GNU C/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 共享

此配置设置目标平台 linux-armv4,这是此 openssl 支持的唯一可用 ARM 平台。--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. 安装

$ 安装

  1. 输出

安装后会在/usr/local/openssl下找到以下文件和文件夹

$ ls /usr/local/openssl

垃圾桶

ct_log_list.cnf

包括

杂项

openssl.cnf.dist

共享证书

ct_log_list.cnf.dist

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。


bud*_*ddy 8

这个工作:

./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
Run Code Online (Sandbox Code Playgroud)

  • 尼斯.您应该考虑将openssl升级到更新的版本,以便可以使用./Configure linux-arm启用ARM优化.见http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676533 (2认同)