CentOS 7 编译 arm版本 openssl

        今天在CentOS 7上编译一个arm版本的模块的时候,出现了一个找不到库的问题,如:

提示找不到两个库,ssl 和 crypto。因为我编译的是Arm版本的,之前没有安装过Arm版本的,现在只能重新编译安装一下了。

        下载openssl 源码,https://www.openssl.org/source/,我下载的是 openssl-1.1.1s.tar.gz ,下载完成后进行解压,然后我新建了一个安装的目录,然后切换到解压出来的目录下,配置 config,如我只执行以下操作:

./config no-asm CROSS_COMPILE=arm-himix200-linux- --prefix=/opt/arm-openssl

这里是配置了 arm 版本编译器,同时指定安装目录 /opt/arm-openssl,这个路径必须是绝对路径,否则会编译失败的,配置结果如下:

这样就配置了一个编译 arm 版本的 Makefile 出来了,如:

配置成功后就可以make直接编译了,但出现了一个错误:

这个arm版本不识别 -m64编译选项,这个是编译x86 64位库的,arm版本应该是没有这个选项。因为不知道怎么用 config 去掉,所以只能直接修改 Makefile 文件了:

如上只要去掉这两个 -m64 即可,其实只去掉 CNF_CFLAGS=-pthread -m64 这一行的 -m64 也可以的,因为 openssl 源码全部是c写的,这里应该只会用到 CNF_CFLAGS这个编译选项。去掉再 make 成功,然后就可以用 make install 安装了,这样会把编译好的so库(默认编译动态库)拷贝到之前 --prefix 指定的目录中,如:

到这一步已经编译及安装完成了,然后根据你自己的编译进行链接即可。我这里的编译链接并不是系统目录,而是指定的链接目录,所以我把 ssl 和 crypto 库拷贝到我的指定目录下,并且像上面一样创建了软链接,再编译我的模块:

我所需要的库也编译出来了。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值