2013-07-15 2 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를 올바르게 지원하지 않습니다. 원래는 들소 확장 기능이라고 생각합니다. 들소를 대신 사용하십시오.