2013-07-15 29 views
0

我正在嘗試爲我正在進行的一些研究項目編譯項目KernelGen(http://hpcforge.org/plugins/mediawiki/wiki/kernelgen/index.php/Compiling),構建腳本使用rpmbuild,看起來它對binutils中的黃金有依賴性。構建不停地嘗試編譯黃金與以下錯誤,當出現故障:在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包本身,我找不到解析失敗的原因。

任何想法?

回答

1

您的byacc版本不能正確支持%pure-parser,我認爲它最初是一個野牛擴展。改用野牛。