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二进制文件.我已经在链接上尝试了多个建议,因此迫切需要打开一个新问题.
请帮忙
我遇到了同样的问题,写了一本手册,介绍如何为arm交叉编译openssl。我希望这本手册能给你一些想法:
这个过程非常简单。在本手册中,我们将给出一个在 Ubuntu Linux 系统中为 ARM 架构交叉编译 OPENSSL 的示例。
您将需要 ARM 架构的 GNU C/C++ 编译器:
$ sudo apt-get install gcc-4.8-arm-linux-gnueabihf g++-4.8-arm-linux-gnueabihf
我们将构建的 openssl 可在https://github.com/openssl/openssl 获得
$ git clone https://github.com/openssl/openssl.git
导航到 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 的参数。
$ make CC=arm-linux-gnueabihf-gcc-4.8
CC 告诉要使用什么交叉编译器。默认编译器是 gcc。
$ 安装
安装后会在/usr/local/openssl下找到以下文件和文件夹
$ ls /usr/local/openssl
垃圾桶
ct_log_list.cnf
包括
杂项
openssl.cnf.dist
共享证书
ct_log_list.cnf.dist
库
openssl.cnf
私人的
确保可执行二进制文件是为 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。
这个工作:
./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)
| 归档时间: |
|
| 查看次数: |
20049 次 |
| 最近记录: |