uclibc 下编译 powerdns-recursor

2015-02-01 11:59:13 +08:00
 debiansid
eglibc 没有问题,可以生成ipk. uclibc 没有get|swap|make context ,找了一个补丁打进去,也显示成功了。编译最后一步出现
mips-openwrt-linux-uclibc-g++ syncres.o misc.o unix_utility.o qtype.o logger.o arguments.o lwres.o pdns_recursor.o recursor_cache.o dnsparser.o dnswriter.o dnsrecords.o rcpgenerator.o base64.o zoneparser-tng.o rec_channel.o rec_channel_rec.o selectmplexer.o sillyrecords.o dns_random.o pubsuffix.o ext/polarssl/library/aes.o ext/polarssl/library/base64.o dnslabeltext.o lua-pdns.o lua-recursor.o randomhelper.o recpacketcache.o dns.o reczones.o base32.o nsecrecords.o json.o ws-recursor.o ws-api.o version.o responsestats.o webserver.o ext/yahttp/yahttp/reqresp.o ext/yahttp/yahttp/router.o rec-carbon.o secpoll-recursor.o lua-iputils.o iputils.o optional/epollmplexer.o -L/home/admin/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib -L/home/admin/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/lib -L/home/admin/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/usr/lib -L/home/admin/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/lib -pthread -Wl,-z -Wl,relro -Wl,-z -Wl,now -pie -o pdns_recursor
syncres.o: In function `_ZN16DNSRecordContent12NumberToTypeEtt.constprop.550':
syncres.cc:(.text+0x9a4): undefined reference to `__stack_chk_guard'
syncres.cc:(.text+0xb54): undefined reference to `__stack_chk_fail'
syncres.cc:(.text+0xb58): undefined reference to `__stack_chk_fail'
syncres.o: In function `SyncRes::asyncresolveWrapper(ComboAddress const&, std::string const&, int, bool, bool, timeval*, LWResult*)':
syncres.cc:(.text+0xbac): undefined reference to `__stack_chk_guard'
syncres.cc:(.text+0x1360): undefined reference to `__stack_chk_fail'
syncres.cc:(.text+0x1364): undefined reference to `__stack_chk_fail'
syncres.o: In function `SyncRes::doResolveAt(std::set<std::string, CIStringCompare, std::allocator<std::string> >, std::string, bool, std::string const&, QType const&, std::vector<DNSResourceRecord, std::allocator<DNSResourceRecord> >&, int, std::set<SyncRes::GetBestNSAnswer, std::less<SyncRes::GetBestNSAnswer>, std::allocator<SyncRes::GetBestNSAnswer> >&)':
syncres.cc:(.text+0x89ac): undefined reference to `__stack_chk_guard'
syncres.cc:(.text+0xb6f8): undefined reference to `__stack_chk_guard'
syncres.cc:(.text+0x128e4): undefined reference to `__stack_chk_fail'
syncres.cc:(.text+0x128e8): undefined reference to `__stack_chk_fail'
syncres.o: In function `SyncRes::doResolve(std::string const&, QType const&, std::vector<DNSResourceRecord, std::allocator<DNSResourceRecord> >&, int, std::set<SyncRes::GetBestNSAnswer, std::less<SyncRes::GetBestNSAnswer>, std::allocator<SyncRes::GetBestNSAnswer> >&)':
syncres.cc:(.text+0x134d4): undefined reference to `__stack_chk_guard'
syncres.cc:(.text+0x1379c): undefined reference to `__stack_chk_guard'
syncres.cc:(.text+0x14678): undefined reference to `__stack_chk_fail'
syncres.cc:(.text+0x1467c): undefined reference to `__stack_chk_fail'
syncres.o: In function `directResolve(std::string const&, QType const&, int, std::vector<DNSResourceRecord, std::allocator<DNSResourceRecord> >&)':
syncres.cc:(.text+0x15714): undefined reference to `__stack_chk_guard'
syncres.cc:(.text+0x15904): undefined r
很多这样的错误,是不是还是context支持不完善导致?

谢谢
964 次点击
所在节点    OpenWrt
1 条回复
debiansid
2015-02-02 21:19:21 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/167234

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX