交叉编译openssl-1.0.0 for arm

本文介绍如何下载并编译适用于ARM架构的OpenSSL版本。通过特定配置和编译选项,去除部分依赖以适应目标平台。同时,文章还讨论了PKG_CONFIG_PATH的优先级问题及其在交叉编译过程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载source code:openssl-1.0.0.tar.gz

tar xvf openssl-1.0.0.tar.gz

cd openssl-1.0.0

./config --prefix=*** no-asm shared

生成Makefile之后修改Makefile中的:

CFLAG= -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -march=pentium -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall

去掉-march=pentium,保存...

 

然后直接make,make install..那么arm版本的openssl就能编译出来了.

 

PKG_CONFIG_PATH的优先级高于在congfigure的时候传进去的参数,因此是优先寻找相应库的.pc文件.
那么在做交叉的时候,应该优先的将自己编译的库的目录放在最前面,那么就会优先使用自己编译出来的库,在寻找库的时候会使用第一个寻找到的库来使用,所以有多个相同的库,但是不同的版本的时候,可以根据寻找到的先后来决定使用哪个库.

### HI3516平台NTP服务交叉编译方法 对于HI3516平台而言,在进行ntp服务的交叉编译过程中,需特别关注依赖库版本兼容性问题以及配置选项的选择。由于之前存在因`libcrypto.so.1.0.0`版本不匹配而导致的问题[^1],建议先确认并安装适合目标系统的OpenSSL版本。 #### 准备工作环境 确保已设置好适用于HI3516开发板的工具链,并完成必要的环境变量初始化操作: ```bash cd HIVIEW # 进入HIVIEW目录 source build/3516d # 初始化环境变量并将当前路径存储至HOME参数中 ``` 此命令执行后,后续所有的编译指令均应在该shell环境下运行以保证正确获取所需的编译器及其他工具链组件[^3]。 #### 获取源码包 下载最新稳定版ntp软件包,考虑到安全性和稳定性因素,推荐直接从官方渠道获得未经修改过的原始tarball文件。 #### 配置与构建 解压ntpd源代码压缩包之后进入其顶层目录,创建一个独立于源树之外的对象文件存放位置用于实际编译流程,这有助于保持项目结构清晰整洁同时也便于清理重试失败的任务: ```bash mkdir -p ~/build_ntpd && cd $_ ../configure --host=arm-hisiv300-linux --prefix=/usr/local \ --with-crypto --disable-debugging LDFLAGS=-L/path/to/custom/libraries CPPFLAGS=-I/path/to/custom/include/files make V=s ``` 这里通过指定`--host`参数告知configure脚本所针对的目标架构;而`--prefix`则定义了最终安装路径。另外两个重要标志分别是启用加密支持(`--with-crypto`)和关闭调试模式(`--disable-debugging`)。最后两项(LDFLAGS, CPPFLAGS)用来指向自定义链接时所需查找的静态库及其头文件所在的位置,具体取决于个人环境中openssl的实际部署情况。 如果遇到任何异常状况无法顺利结束整个过程,则可以参照已有经验采取措施加以解决,比如利用默认`.config`模板来规避潜在风险点或是干脆重建干净的工作副本再做尝试[^2]。 #### 安装部署 当所有步骤顺利完成以后就可以准备将生成好的可执行程序复制到嵌入式设备上了。不过在此之前最好还是先进行情景测试验证功能正常与否。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值