openwrt undefined reference to ‘getpwent_r’

因为需要安装 su sudo useradd groupadd chown login 等用户管理命令,会访问passwd文件。用到了 getpwant_r 函数。具体是哪个命令引起的,暂时不知。


报错如图:



经过了解,发现 函数 getpwent_r 是一个可从入函数,也就是 getpwent 线程版本。 作用是,获取 passwd 文件的内容。包含在 pwd.h 头文件下。但是搜索了交叉编译器的头文件之后,确实没有发现关于这个函数声明。继续百度后找到这个函数是属于 glibc 的。这是linux系统中最底层的api,所以,这个库应该是安装了,但是因为是嵌入式系统,可能做了部分优化,所以本来进入到 menuconfig 中 一条条的找关于 glibc 的描述。最终发现关于交叉编译器的高级选项中有一项描述 glibc 的, 如图:


根据提示,选中相应配置:

[*] Advanced configuration options (for developers)  ---> 
	[*]   Toolchain Options  --->
		(e)glibc version (glibc 2.21)  --->  

之后 make ,大约2个小时后编译成功。会发现在 openwrt 工作目录下 的bin 目录想 多出来一个 ramips-glibc 目录。 里面就有编译好的镜像包。烧录到板子即可。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值