2012-02-03 2 views
1

현재 새로 업데이트 된 우분투 11.10에서 gcc 4.4를 빌드하려고합니다. 그러나 컴파일러를 빌드하는 것은 부트 스트랩을 시도 할 때 몇 가지 문제로 항상 실패합니다.더 낮은 버전의 컴파일러를 만들 수없는 이유는 무엇입니까

처음으로 crti.ocrtn.o을 찾을 수 없습니다. 검색 경로 내에서 그들을 다른 디렉토리로 심볼릭 링크 했으므로 부트 스트랩 컴파일러를 얻을 수있었습니다. 그러나 지금은 메시지와 함께 실패 : 나는 간단한 테스트 프로그램에 중간 컴파일러를 사용하기 위해 밖으로 시도

configure: error: C compiler cannot create executables

, 나는 메시지를 얻을 :

$ ./host-x86_64-unknown-linux-gnu/prev-gcc/xgcc test.c 
xgcc: error trying to exec 'cc1': execvp: File or directory not found 

그래서 뭔가 심각하게 엉망을 내 중간 컴파일러의 경로와 같습니다. 내가 우분투 11.04에서 똑같은 일을했을 때 모든 것이 잘 작동했다.

나는 구성하려면 다음 명령 줄을 사용 : 나는 또한 모두 VPATH 구축뿐만 아니라 소스의 빌드를 시도

./configure --prefix=/opt --program-suffix=44 

,하지만 모두 같은 문제가 있습니다. 나는 여전히 업데이트가 있기 전에 /opt 안에있는 gcc44를 가지고 있지만 업데이트 이후에는 사용할 수 없게되었습니다.

gcc 4.4가 Ubuntu 11.10에서 작동하도록하는 쉬운 방법이 있습니까? 필자는 자체 빌드 컴파일러 일 필요는 없습니다. 패키지를 다운로드하여 설치할 수 있다면 잘 될 것입니다.

+2

은 configure.log을 검사 - 내가 거기에 보면 않았다 ... –

+0

그것은 아마도 당신의 좀 더 진단을 주어야한다 ...하지만 당신의 정보 덕분에 나는에 가까운 다시 많이 보았다 올바른 config.log와 나는 또 다른'crt? .o' 파일을 찾았는데,이 파일은 업데이트 중에 올바르게 링크되지 않았던 것으로 보인다. 이제는 (적어도 첫눈에) 작동하는 것 같습니다. – LiKao

+0

또 다른 추측 : libc6-dev가 누락되었을 수 있습니다 ('# apt-get install libc6-dev') –

답변

2

이것은 우분투의 멀티 아치 전환으로 인해 발생합니다. 기본적으로 모든 "표준"경로가 변경되어 충돌없이 동일한 시스템에 여러 아키텍처의 라이브러리를 설치할 수 있습니다.

우분투 GCC는 물론 문제를 해결하기 위해 패치되었지만, 업스트림 컴파일러는 지난 번 확인한 바대로 수정되지 않았습니다.

는 여기를 참조하십시오 : https://askubuntu.com/questions/69365/cant-build-gcc-anymore-since-upgrade-to-11-10

+0

이제 작동합니다. 나는 적절한'crt * .o's를'/ lib'로 symlink했다. 이것은 약간의 해킹입니다. 보통 시스템 디렉토리에서 수동으로 연결하는 것을 싫어하기 때문에.하지만 지금은 제대로 작동하는 것 같습니다. 그 해상도가 더 적합한 지 확인하기 위해 링크를 살펴볼 것입니다. – LiKao