mv openssl-1.0.2g openssl-1.0.2g-build
3、cd openssl-1.0.2g-build
4、设置编译环境:./config --prefix=/home/openssl-1.0.2g-build/openssl-build
其中: --prefix是指定编译后的安装的路径
5、执行编译安装:make && make install 此时在/home/openssl-1.0.2g-build里面就会有openssl-build文件夹

文章插图
6、因为安装的ubuntu18中默认的openssl是1.1.1,我们需要换成我们的openssl-1.0.2g

文章插图
把以前的备份:sudo mv /usr/bin/openssl /usr/bin/openssl.old
7、建立新的软连接:sudo ln -s /home/openssl-1.0.2g-build/openssl-build/bin/openssl /usr/bin/openssl
8、编辑链接文件:vim /etc/ld.so.conf.d/libc.conf
9、在libc.conf文件中添加:/usr/openssl-1.0.2g-build/openssl-build/lib
10、重新加载配置:ldconfig
11、测试:openssl version,已经变成1.0.2g版本了

文章插图
八、准备openssl-target1、同样是再次解压openssl源码包,这次解压的源码包用来交叉编译给target-python使用的:tar -xzvf openssl-1.0.2g.tar.gz
2、更改名字:mv openssl-1.0.2g openssl-1.0.2g-target
3、cd openssl-1.0.2g-target
4、设置编译环境:./config no-asm --shared --cross-compile-prefix=arm-buildroot-linux-gnueabihf- --prefix=/home/openssl-1.0.2g-target/openssl-target
解释: no-asm :加上 no-asm 表示不使用汇编代码加速编译,不然会报错
--cross-compile: 指定交叉编译链的前缀,这样在交叉编译openssl就会使用我们的交叉编译链进行交叉编译了
--prefix: 已经是交叉编译后的路径
5、在编译后生成的Makefile中有两处是 -m64 的标记要删除,因为交叉编译后是在32位的板子上运行,所以这一步也要改:sed -i 's/-m64//' Makefile
6、执行编译安装:make && make install
目前我们就把openssl-build和openssl-target都准备好了
九、准备zlib-build1、解压源码包:unzip zlib1211.zip
2、改名:mv zlib-1.2.11 zlib-1.2.11-build
3、cd zlib-1.2.11-build
4、设置编译环境:./configure --prefix=/home/zlib-1.2.11-build/zlib-build
5、执行编译安装:make && make install
十、准备zlib-target1、解压源码包:unzip zlib1211.zip
2、改名:mv zlib-1.2.11 zlib-1.2.11-target
3、cd zlib-1.2.11-target
4、设置交叉编译器:export CC=arm-buildroot-linux-gnueabihf-gcc 通过export 设置的环境变量都是临时一次性的,当shell窗口关闭了就失效了
5、设置编译环境:./configure --prefix=/home/zlib-1.2.11-target/zlib-target --enable-shared
6、执行编译安装:make && make install
目前我们也已经包zlib-build和zlib-target准备好了
十一、准备ctypes-build 这一步已经在准备工作中做了:sudo apt-get install libffi-dev
十二、准备ctypes-target1、解压源码包:tar -xzvf libffi-3.2.1.tar.gz
2、改名:mv libffi-3.2.1 libffi-3.2.1-target
3、cd libffi-3.2.1-target
4、设置交叉编译器:export CC=arm-buildroot-linux-gnueabihf-gcc 如果这一步在准备zlib-target没有关闭shell窗口的时候,可以不用设置,因为已经设置过了,但是如果关了窗口就要重新设置了
5、设置编译环境:./configure CC=arm-buildroot-linux-gnueabihf-gcc --host=arm-buildroot-linux-gnueabihf --build=x86_64-linux-gnu target=arm-buildroot-linux-gnueabihf --enable-shared --prefix=/home/libffi-3.2.1-target/libffi-target
6、执行编译安装:make && make install
目前ctypes-build和ctypes-target也准备好了
十三、编译python-build1、解压源码:tar xvf Python-3.5.2.tgz
经验总结扩展阅读
- DophineSheduler上下游任务之间动态传参案例及易错点总结
- 企业使用erp系统的好处及解决了什么问题?
- 二级建造师报名条件及时间
- 价值观的导向作用原理及方法论
- 跟我学Python图像处理丨傅里叶变换之高通滤波和低通滤波
- 可可西里蕴涵的主题以及现代意义
- 空调不制热的原因及解决办法
- Python中dataclass库
- 汉服形制之袄裙及其主要特点
- 【Python+C#】手把手搭建基于Hugging Face模型的离线翻译系统,并通过C#代码进行访问