ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2015年4月24日 星期五

mdnsresponder, android 2.3.7

build error:
target thumb C: mdnsd <= external/mdnsresponder/mDNSPosix/mDNSUNP.c
external/mdnsresponder/mDNSPosix/mDNSUNP.c: In function 'recvfrom_flags':
external/mdnsresponder/mDNSPosix/mDNSUNP.c:649: error: dereferencing pointer to incomplete type
external/mdnsresponder/mDNSPosix/mDNSUNP.c:653: error: dereferencing pointer to incomplete type
line:649 是
            sin6->sin6_addr     = ip6_info->ipi6_addr;
lin: 653 是
            pktp->ipi_ifindex   = ip6_info->ipi6_ifindex;
所以猜是 ip6_info 沒宣告。
查一下:
            struct in6_pktinfo *ip6_info = (struct in6_pktinfo*)CMSG_DATA(cmptr);
找一下有沒有struct in6_pktinfo:
  • bionic : 沒有
  • kernel : include/linux/ipv6.h
  • jelly bead bionic : libc/kernel/common/linux/ipv6.h
所以是 2.3.7 的 bionic 沒有放進來。
所以,直接把 jelly bean 的 ipv6.h copy 過來。
然後找 jelly-bean 的 header 哪裡有 include ipv6.h
libc/include/netinet/in.h
所以照著修改 ...

rebuild mdnsresponder...OK

沒有留言:

標籤

網誌存檔