准备文件

[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]#
Logo

更多推荐