arm-linux 交叉编译wget支持openssl, 使wget支持https链接地址下载文件
准备文件[0]. wget源码下载( wget-1.20.1.tar.gz );[1]. openssl源码下载( openssl-1.1.1a.tar.gz 或者 openssl-1.0.0a.tar.gz(我使用了两个版本的openssl做了测试, 都是可以的));交叉编译wget源码生成不支持openssl的wget可执行文件[0]. 解压 wget-1.20.1.tar.g...
准备文件
[0]. wget源码下载( wget-1.20.1.tar.gz );
[1]. openssl源码下载( openssl-1.1.1a.tar.gz 或者 openssl-1.0.0a.tar.gz (我使用了两个版本的openssl做了测试, 都是可以的));
交叉编译wget源码生成不支持openssl的wget可执行文件
[0]. 解压 wget-1.20.1.tar.gz 到当前路径(我的当前文件路径为/home/test_wget/);
[1]. 创建wget临时安装文件夹(/home/test_wget/install);
[2]. 进入解压文件夹目录;
[3]. 配置wget编译选项(三步骤中的configure操作);
[4]. 编译wget(三步骤中的make操作);
[5]. 安装wget到指定安装路径(三步骤中的make install操作);
[6]. 进入指定安装路径, 便可以查看到已经编译生成的wget相关文件(bin文件夹下的wget为我们需要的可执行文件);
[7]. 将/home/test_wget/install/bin/wget文件拷贝至arm目标板子中运行测试;
[root@ares test_wget]# tar -zxvf wget-1.20.1.tar.gz
[root@ares test_wget]# mkdir install
[root@ares test_wget]# cd wget-1.20.1
[root@ares test_wget]# ./configure --prefix=/home/test_wget/install --host=arm-none-linux-gnueabi CC=arm-none-linux-gnueabi-gcc --without-ssl --without-zlib
[root@ares test_wget]# make
[root@ares test_wget]# make install
[root@ares wget-1.20.1]# cd ../install/
[root@ares install]# ls
bin etc share
[root@ares install]#
[root@FBox_Lite test]#./wget https://files-cdn.cnblogs.com/files/cv-pr/test_sqrt
.tar.gz
https://files-cdn.cnblogs.com/files/cv-pr/test_sqrt.tar.gz: HTTPS support not compiled in.
[root@FBox_Lite test]#
交叉编译openssl-1.1.1和wget, 使wget支持https链接下载
[0]. 解压 openssl-1.1.1a.tar.gz 到当前路径(我的当前文件路径为/home/test_wget/);
[1]. 创建openssl临时安装文件夹(/home/test_wget/openssl_1.1.1_install/);
[2]. 进入openssl-1.1.1a文件夹;
[3]. 配置openssl-1.1.1a编译选项(三步骤中的configure操作);
[4]. 对openssl-1.1.1a的Makefile做一下修改,使之可以交叉编译;
将CROSS_COMPILE=arm-none-linux-gnueabi-; 如果环境变量$(CROSS_COMPILE)已经设置为arm-none-linux-gnueabi-,则会发现配置结束以后生成的Makefile中已经将CROSS_COMPILE设置为arm-none-linux-gnueabi-了;
[5]. 编译openssl-1.1.1a(三步骤中的make操作);
[6]. 安装openssl-1.1.1a到指定安装路径(三步骤中的make install操作);
[7]. 查看openssl-1.1.1a安装路径下面,已经有相关文件生成(bin lib include ...);
====================================================================================
[8]. 进入wget源代码文件夹, 重新配置,编译,安装操作;
[9]. 在wget安装路径下面会重新生成新的支持openssl1.1.1的wget可执行文件;
[10]. 将openssl1.1.1的相关库文件(libcrypto.so.1.1和libssl.so.1.1)拷贝到arm目标板子的lib目录下;
[11]. 将/home/test_wget/install/bin/wget文件拷贝至arm目标板子中运行测试;
[root@ares test_wget]# tar -zxvf openssl-1.1.1a.tar.gz
[root@ares test_wget]# mkdir openssl_1.1.1_install
[root@ares test_wget]# cd openssl-1.1.1a
[root@ares openssl-1.1.1a]# ./config no-asm shared --prefix=/home/test_wget/openssl_1.1.1_install/
[root@ares test_wget]# make
[root@ares test_wget]# make install
[root@ares openssl-1.1.1a]# ls ../openssl_1.1.1_install/
bin include lib share ssl
[root@ares openssl-1.1.1a]# ls ../openssl_1.1.1_install/lib
engines-1.1 libcrypto.a libcrypto.so libcrypto.so.1.1 libssl.a libssl.so libssl.so.1.1 pkgconfig
[root@ares openssl-1.1.1a]# ls ../openssl_1.1.1_install/include/
openssl
[root@ares openssl-1.1.1a]# ls ../openssl_1.1.1_install/bin
c_rehash openssl
[root@ares openssl-1.1.1a]#
[root@ares wget-1.20.1]# ./configure --with-ssl=openssl --prefix=/home/test_wget/install/ --host=arm-none-linux-gnueabi CC=arm-none-linux-gnueabi-gcc --with-openssl=/home/test_wget/openssl_1.1.1_install --without-zlib --with-libssl-prefix=/home/test_wget/openssl_1.1.1_install
[root@ares wget-1.20.1]# make
[root@ares wget-1.20.1]# make install
交叉编译openssl-1.0.0和wget, 使wget支持https链接下载
与openssl-1.1.1类似, 同样操作即可
[root@ares openssl-1.0.0a]# ./config no-asm shared --prefix=/home/test_wget/openssl_1.0.0_install/
[root@ares openssl-1.0.0a]# make
[root@ares openssl-1.0.0a]# make install
[root@ares wget-1.20.1]# ./configure --with-ssl=openssl --prefix=/home/test_wget/install/ --host=arm-none-linux-gnueabi CC=arm-none-linux-gnueabi-gcc --with-openssl=/home/test_wget/openssl_1.0.0_install --without-zlib --with-libssl-prefix=/home/test_wget/openssl_1.0.0_install
[root@ares wget-1.20.1]# make
[root@ares wget-1.20.1]# make install
测试结果:
[root@FBox_Lite test]#./wget --no-check-certificate https://files-cdn.cnblogs.co
m/files/cv-pr/test_sqrt.tar.gz
--2019-03-22 22:40:16-- https://files-cdn.cnblogs.com/files/cv-pr/test_sqrt.tar.gz
Resolving files-cdn.cnblogs.com... 221.228.218.203, 180.101.217.115, 180.101.217.119, ...
Connecting to files-cdn.cnblogs.com|221.228.218.203|:443... connected.
WARNING: cannot verify files-cdn.cnblogs.com's certificate, issued by 'CN=Encryption Everywhere DV TLS CA - G1,OU=www.digicert.com,O=DigiCert Inc,C=US':
Self-signed certificate encountered.
HTTP request sent, awaiting response... 200 OK
Length: 1148 (1.1K) [application/x-gzip]
Saving to: 'test_sqrt.tar.gz.1'
test_sqrt.tar.gz.1 100%[===================>] 1.12K --.-KB/s in 0s
2019-03-22 22:40:22 (8.76 MB/s) - 'test_sqrt.tar.gz.1' saved [1148/1148]
[root@FBox_Lite test]#
更多推荐
所有评论(0)