系统命令交叉编译--wget,ftpgetput

wget工具

时间:2021-10-14,wget版本1.21

编译过程

1、下载wget源码:http://mirror-hk.koddos.net/gnu/wget/
2、解压,进入源码目录:cd wget-1.21/
3、创建安装目录:mkdir __install
4、在Linux环境下,选择对应平台编译链进行配置:
./configure --prefix=$PWD/__install --host=arm-xxxxxx-linux CC=arm-xxxxxx-linux-gcc --without-zlib --without-ssl
5、编译:make
6、安装:make install
7、生成__install/bin/wget,移植板端

Q&A

1、configure: error: --with-ssl=openssl was given, but SSL is not available.
服务器上缺少libssl-dev库
此外,./configure 时参数–without-ssl表示不支持https,–with-ssl=openssl支持https;

2、wget2版本不支持取消ssl参数,因此需要libssl-dev库支持

3、error: #error “getprogname module not ported to this OS”
解决:找到 getprogname.c(find -name getprogname.c),修改对应代码(url:http://www.4k8k.xyz/article/lixuminglxm/79355792)

4、tempname.c:288: error: ‘for’ loop initial declarations are only allowed in C99 mode
原因:直接在for循环中初始化了增量,但C99标准可以在for循环内定义i变量
解决:找到这一行,在for外定义变量i

5、progress.c:1378: error: ‘for’ loop initial declarations are only allowed in C99 mode
同上4

ftpget、ftpput工具

时间:2021-10-14,busybox版本1.34.1

背景

未找到对应工具的源码,于busybox中交叉编译得出

编译过程

1、配置busybox 只生效ftpget ftpput :make menuconfig;只选ftpget ftpput 以及long option
2、编译:make
3、安装:make install
4、生成busybox,在_install/bin目录下,移植到板端,不能置于与文件系统冲突的目录下,对两个系统命令进行软链接:ln -s busybox ftpget/ln -s busybox ftpput

Q&A

1、ash:如果未在 uClibc 上选择 ASH_INTERNAL_GLOB,则会出错
解决:menuconfig配置时选上ASH_INTERNAL_GLOB
(url:http://lists.busybox.net/pipermail/busybox-cvs/2016-December/036363.html)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值