关于openssl的交叉编译
2019-04-29 08:49:10来源:博客园 阅读 ()
最近有个项目用到openssl,于是去openssl的官方网站上下载了最新的版本,v1.1.1b版本。
解压之后,发现配置编译,可以使用./config或者./Configure来完成。
网上也查了一些交叉编译的说明,经常在config之后,还要手动的修改makefile才行。这种就对我这种需要维护N种交叉编译环境的人来说,就比较头疼了。
按常理讲,openssl这种用途如此广的开源库,在交叉编译应该做得很好才对啊!
打开config脚本,查找了一下,其交叉编译是可以配置的,不需要配置之后,再手动改makefile。
./config no-asm shared --prefix=/home/xxx/git_base/openssl/release/himix100 CROSS_COMPILE=/opt/xxx/aarch64-himix100-linux/bin/aarch64-himix100-linux- CC=gcc
只要修改环境变量CROSS_COMPILE和CC,即可完成编译的配置。
但是接下来,进行hisiv500编译器的配置时,又遇到问题了。
其一是编译时,有很多告警,一看就是由于编译器是32位,但是代码中对位的操作却假定是64位,所以就会有可能溢出的告警
其二是,hisiv500编译器是不提供GNU C的ucontext库的,所以最后一些tools的链接会有问题。
继续查看config文件,没有找到如何配置系统的位宽。
这时,尝试常规的Configure --help,原来Configure里面是可以配置的。
./Configure linux-generic32 no-asm shared no-async --prefix=/home/xxx/git_base/openssl/release/hisiv500/ CROSS_COMPILE=/opt/xxx/arm-hisiv500-linux/bin/arm-hisiv500-linux-uclibcgnueabi- CC=gcc
no-async的作用是不使用GNU的ucontext库
linux-generic32表示是32位操作系统
--prefix表示istall时的文件输出目录
如此一来,终于能够编译通过了。下一步,测试运行看看是否有问题吧!
原文链接:https://www.cnblogs.com/djw316/p/10786173.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Linux系统的启动过程
下一篇:sed 命令
- 在已经编译安装好php7场景下 安装php openssl扩展 2020-06-06
- [apue] 书中关于打印服务代码的一个错误 2020-05-22
- Shell脚本关于循环的一些总结 2020-05-18
- 关于Nginx处理HTTP请求的11个阶段流程 2020-05-07
- 关于linux查询内存,CPU,存储空间和日志查询的的常用命令及 2020-04-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash