linux - 在 ubuntu linux 上编译 mDNSResponder 时出错

标签 linux ubuntu compilation makefile

我正在尝试在 ubuntu 14.04 上编译 mDNSResponder-320.10.80。但是我收到以下错误。同样在 fedora 上编译成功。请给我建议一个可能的解决方案。

../mDNSShared/dnsextd_parser.y: In function ‘yyparse’:
../mDNSShared/dnsextd_parser.y:188:22: error: ‘context’ undeclared (first use in this function)
    ( ( DaemonInfo* ) context )->private_port = mDNSOpaque16fromIntVal( $3 );
                      ^
../mDNSShared/dnsextd_parser.y:188:22: note: each undeclared identifier is reported only once for each function it appears in
../mDNSShared/dnsextd_parser.y: In function ‘ParseConfig’:
../mDNSShared/dnsextd_parser.y:448:2: error: too many arguments to function ‘yyparse’
  err = yyparse( ( void* ) d );
  ^
objects/prod/dnsextd_parser.c:1125:1: note: declared here
 yyparse (void)
 ^
make: *** [objects/prod/dnsextd_parser.y.o] Error 1

Br 高拉夫辛拉

最佳答案

Ubuntu 14.04 升级到 bison 3,它放弃了对 YYPARSE_PARAM 的支持,而 YYPARSE_PARAM 已经被弃用了一段时间。请参阅新闻部分:http://savannah.gnu.org/forum/forum.php?forum_id=7663 这就是 dnsextd_parser.y 在 Ubuntu 14.04 上失败的原因。

周围有一些补丁(搜索“patch dnsextd_parser.y”)可以使 dnsextd_parser.y 与 bison 3 兼容。我使用了来自:http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/net/mDNSResponder/patches/patch-mDNSShared_dnsextd__parser.y 的补丁。

关于linux - 在 ubuntu linux 上编译 mDNSResponder 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31398007/

相关文章:

linux - 模拟声卡 ALSA snd-dummy (Docker - Kernel Rebuild - ALSA snd-dummy)

ubuntu - dotnet 核心发布问题

发送数据失败后关闭套接字不会导致 recv 函数返回错误状态

python - 从命令行导入 Python 模块,但不能从 PyCharm 导入

ubuntu - 无法将 redis 作为守护进程运行... ubuntu 服务器,redis 2.6.0

java - 出现无法解决的错误

c++ - Visual Studio 2012 中的编译错误

python - 如何使用 Fast-Downward 编译 OpenCV

linux -/dev/ttyACM0 : permission denied on openSUSE

linux - Perl 代码中的/dev/urandom