0

我正在尝试为我正在做的一些研究项目编译项目 KernelGen ( http://hpcforge.org/plugins/mediawiki/wiki/kernelgen/index.php/Compiling ),构建脚本使用 rpmbuild,它看起来像依赖 binutils 中的黄金。尝试编译黄金时,构建不断失败,并出现以下错误:

/bin/sh ./../ylwrap yyscript.y y.tab.c yyscript.c y.tab.h yyscript.h y.output yyscript.output -- byacc  -d
byacc: e - line 42 of "/home/xxx/rpmbuild/BUILD/binutils-2.23.2/gold/yyscript.y", syntax error
%pure-parser
^

文件 yyscript.c 如下所示:

/* We need to use a pure parser because we might be multi-threaded.
   We pass some arguments through the parser to the lexer.  */

%pure-parser
%parse-param {void* closure}
%lex-param {void* closure}

/* Since we require bison anyhow, we take advantage of it.  */
%error-verbose

/* The values associated with tokens.  */

看起来它是某种无法解析的语法文件。事情是这个文件来自 binutils 包本身,我找不到它无法解析的原因。

有任何想法吗 ?

4

1 回答 1

1

您的 byacc 版本不能正确支持 %pure-parser,我相信它最初是一个野牛扩展。改用野牛。

于 2013-09-22T14:40:54.350 回答