php交叉编译带openssl,openssl交叉编译记录

本次任务是要完毕嵌入式Linux下对openssl程序的支持。

我的开发环境:ARM9开发板 和 嵌入式Linux操作系统。装有Linux系统(我的是ubuntu9.04)的PC机一台。串口和串口连接线。串口调试软件:minicom。

交叉编译工具:arm-unknown-linux-gnu-gcc

下载最新版本号的openssl-1.0.0:

http://www.openssl.org/source/

解压:$tar -xzvf  openssl-1.0.0.tart.gz

$cd openssl-1.0.0

openssl-1.0.0$ ./config no-asm shared prefix=/home/lanpeng/arm-openssl

解释一下这里的參数: config就是配置脚本。这里不多说了。no-asm是在交叉编译过程中不使用汇编代码代码加速编译过程.原因是它的汇编代码是对arm格式不支持的。

我试过了。假设没有这个參数,你的交叉编译一定出错。shared生成动态连接库。prefix=路径  就是你的安装文件夹。

安装完毕后在这个文件夹下会有四个文件夹:bin lib include ssl。这四个文件夹很重要,openssl编程就须要这些文件夹的配合。

配置完毕后我们还要改动Makefile文件(也许有更好的办法不用改动Makefile,这里请高手指点)。改动例如以下:

62 #CC= gcc

63 CC = arm-unknown-linux-gnu-gcc

64 #CFLAG= -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAV    E_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall

65 CFLAG= -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_N    O_KRB5 -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall

66 DEPFLAG= -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_R    C5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_STORE

67 PEX_LIBS=

68 EX_LIBS= -ldl

69 EXE_EXT=

70 ARFLAGS=

71 #AR= ar $(ARFLAGS) r

72 AR = arm-unknown-linux-gnu-ar $(ARFLAGS) r

73 RANLIB = arm-unknown-linux-gnu-ranlib

74 #RANLIB= /usr/bin/ranlib

75 #NM= nm

76 NM = arm-unknown-linux-gnu-nm

77 PERL= /usr/bin/perl

78 TAR= tar

79 TARFLAGS= --no-recursion

80 MAKEDEPPROG= gcc

81 LIBDIR=lib

另一个须要更改的地方,全部-march后面相应的内核要是自己的arm的型号,默认的好像是奔腾的。你要改成自己的如armv5,这个在你运行的时候报错提示你,然后给出一堆型号你选择自己相应的就可以。

即使用交叉编译工具去编译openssl。

改动好了以后运行命令:  opensl-1.0.0$ make

要编译5分钟左右,慢慢等吧。

然后在输入命令:  opensl-1.0.0$ make install

没有错误!恭喜了,成功安装。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值