编译node-v4.2.1,出现错误:undefined reference to getpwuid_r

文章详细介绍了如何解决在Android平台上由于API级别提高导致的getpwuid_r函数不可用的问题,通过替换为getpwuid函数并进行判断处理,成功解决了编译错误。
error: undefined reference to 'getpwuid_r'

我的解决方法(使用 getpwuid 替换 getpwuid_r ):
[root@localhost node-v4.2.1]# grep getpwuid_r -R .
[root@localhost node-v4.2.1]# gedit ./deps/uv/src/unix/core.c

    r = getpwuid_r(uid, &pw, buf, bufsize, &result);
替换为:
    //r = getpwuid_r(uid, &pw, buf, bufsize, &result);

    result = getpwuid(uid);  
    if(result == NULL) r = 0;

++++++++++++++++++++++++++++++++++++++++++++

Answer 1:The API level in our build script was recently raised to 21, closing. If you need support for an API level < 21, a patch would be welcome

Answer 2:There is no getpwuid_r implementation in bionic libc in Android platforms below 19. Just remove the call off the code.


<script>window._bd_share_config={"common":{"bdsnskey":{},"bdtext":"","bdmini":"2","bdminilist":false,"bdpic":"","bdstyle":"0","bdsize":"16"},"share":{}};with(document)0[(getelementsbytagname('head')[0]||body).appendchild(createelement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new date()/36e5)];</script>
阅读(160) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值