2014-04-17 2 views
3

데비안 (6 또는 7)에서 gcc-4.9RC 또는 gcc-4.8.2을 컴파일하려고합니다.gcc 컴파일 - flex에서 출력을 찾을 수 없습니다. 포기

flex 2.5.35이 설치되어 있고 심지어 내 자신의 플렉스 2.5.39을 컴파일했습니다.

.l 파일에서 yy.c 출력을 생성하는 것으로 확인되었습니다.

또한 gcc 문서에서 gcc-4.8.2 인 릴리스에서 컴파일 할 때 flex가 필요하지 않음을 알게되었습니다.

그럼에도 불구하고 나는 항상 make를 실행 한 후 일부 내부 configure이 얻을 :

checking for bison... bison -y 
checking for flex... flex 
checking lex output file root... configure: error: cannot find output from flex; giving up 
make[2]: *** [configure-stage1-gmp] Error 1 
make[2]: Leaving directory `***/gcc-bin-8' 
make[1]: *** [stage1-bubble] Error 2 
make[1]: Leaving directory `***/gcc-bin-8' 
make: *** [all] Error 2 

그것은으로 구성되어 있습니다 :

../gcc-4.8.2/configure --enable-languages=c,c++,fortran --with-cloog --prefix=/home/***/gcc-4.8.2 

내가 이상을 시도해야하는지 모른다.

답변

5

이 오류는 gmp (gcc의 사전 요구 사항)를 작성하는 동안 생성됩니다. 4.8.3 Ref :gmp bug에있는 gmp의 알려진 버그입니다. contrib/download_prerequisites를 실행하면 기본적으로 gmp 4.8.3이됩니다. 해결 방법은 GMP-4.8.3/configure.in & GMP-4.8.3/구성을 편집하고 GMP의 현재 버전이 6.0이기 때문에

M4=m4-not-required

에 대한

M4=m4

+0

을 변경하는 것입니다. 0a, 나는 왜 OP가 GMP의 고풍 버전을 쓸지 궁금해했다. GMP 6.0.0a (및 MPC 1.0.2, MPFR 3.1.2, ISL 0.12.2 및 Cloog 0.18.1)를 사용하여 Mac OS X 10.9.4 및 Ubuntu 14.04 Trusty Tahr 파생 제품에서 GCC 4.9.1을 행복하게 만들었습니다. GCC는 다른 모든 것들을 구축하면서 빌드했습니다. –

+0

OP는 그가 사용하고있는 GMP의 버전을 말하지 않았습니다 – ACyclic

+0

메인 시스템의 홈 디렉토리 (신규)와 일부 (이전 버전)에서 라이브러리가 엉망이었습니다. 나는 여전히 새로운 GCC를 컴파일하는데 성공하지 못했지만, 이제는 관리자가 나에게 최근의 것을 만들어주기 전까지는 인텔 컴파일러를 사용합니다. BTW, 난 아주 자주 내 자신의 컴퓨터에 소스에서 GCC를 컴파일하고 난 그런 문제가 없어. –

관련 문제