arm-linux移植openssl

因需求缘故,需要在arm926的平台上使用openssl。在官网上下载了源码包版本OpenSSL 1.0.2(坑爹啊,当正在写博客的时候去看了一下官网,结果今天刚出一个版本OpenSSL 1.0.2a)

地址:http://www.openssl.org/

 

下面是移植步骤:

(1)解压出来,放到想放的地方。

(2)然后呢,仔细阅读一下README文件(这是常规步骤),然后了解了编译使用的一般步骤,遂按照步骤来操作。

(3)README文件说需要对源码进行配置,也就是运行config文件,运行的时候可以加上一些配置参数,这里我写了一个脚本来进行这个过程,脚本内容为:

./config no-asm shared --prefix=/home/xxx/openssl-1.0.2/openssl-install --cross-compile-prefix=/opt/sourcery-arm-201203/bin/arm-none-linux-gnueabi- >& ./xxx_config-host

no-asm   :     Do not use assembler code.

shared    :    In addition to the usual static libraries, create shared
                libraries on platforms where it‘s supported.  See "Note on
                shared libraries" below。(编译连接成动态库)

--prefix   :  指定之后make install后生成的执行文件跟库的存放位置,后面蓝色部分是我个人的位置。

--cross-compile-prefix :指定交叉编译工具位置及其前缀,当然蓝色部分是我的个人的。

>& ./xxx_config-host   : 最后一步是我故意把输出信息重定向到一个文件,纯粹个人爱好,跟编译无关,可删除。

完了之后执行这个脚本,就这样配置完成了。

(4)配置完之后就是make了,在make的时候发现了一些问题:提示找不到-m64,查了资料之后似乎是说-m64是在64位机器上运行才使用的参数,也不知道为什么怎么会有这个参数,先不管它了,删除试试,删除了:

a.SHARED_LDFLAGS=-m64  将-m64删除

b.CFLAG= -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -O3 -Wall   将其中的-m64删除

之后再编译就没问题了。

(5)拷贝openssl-install/bin下的文件到目标板上运行试试,缺少所需库,能运行提示出错,说明编译的没错,只可惜我用了绝对路径的库,后面的工作就是慢慢再优化这个编译过程。

 

完成。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。