zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    flink 读取kafka 数据,partition分配
    Flink 报错 "Could not find a suitable table factory for 'org.apache.flink.table.factories.StreamTableSourceFactory' in the classpath"
    flume接收http请求,并将数据写到kafka
    【翻译】Flume 1.8.0 User Guide(用户指南) Processors
    【翻译】Flume 1.8.0 User Guide(用户指南) Channel
    【翻译】Flume 1.8.0 User Guide(用户指南) Sink
    【翻译】Flume 1.8.0 User Guide(用户指南) source
    【翻译】Flume 1.8.0 User Guide(用户指南)
    Apache Flink 简单安装
    Java之使用IDE
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10495308.html
Copyright © 2011-2022 走看看