2012-06-29 5 views
2

내 Mac (Snow Leopard)에 gcc를 설치 했으므로 AVR 마이크로 컨트롤러 용으로 컴파일 할 수 있습니다. 그러나, 그것은 내가 다른 것을 위해 컴파일하는 것을 방해하고있는 것으로 보인다. 나는 astrometry.net에서 패키지를 구축, 그리고 내가 ./configure를 실행할 때 다음 내가 얻을 수 있도록 것 :exec cc1을 시도하는 중 오류가 발생했습니다. gcc는 avr 만 컴파일하려고합니까?

Using built-in specs. 
Target: avr 
Configured with: ./configure --target=avr --enable-languages=c,c++ --disable-nls --disable-libssp --prefix=/usr/local/staging.avr-gcc 
Thread model: single 
gcc version 4.1.1 

아니에요 : 제공 -v

make -C ./qfits-an stage CFLAGS=" -g -Wall -ffinite-math-only -fno-signaling-nans -march=native -O3 -fomit-frame-pointer -DNDEBUG -fPIC -Winline -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE" LDFLAGS=" -g -Wall -ffinite-math-only -fno-signaling-nans -march=native -O3 -fomit-frame-pointer -DNDEBUG -fPIC -Winline" CC="gcc" 
make -C src stage 
gcc -g -Wall -ffinite-math-only -fno-signaling-nans -march=native -O3 -fomit-frame-pointer -DNDEBUG -fPIC -Winline -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -c -o anqfits.o anqfits.c 
gcc: error trying to exec 'cc1': execvp: No such file or directory  

GCC 계속하는 법! 현재 모든 것은 AVR 플랫폼 용으로 만 빌드 된 것으로 보이지만, 어딘가에 Xcode가 설치되어있어 더 많은 버전의 gcc가 숨어 있습니다. 이 설치는 http://www.micahcarrick.com/installing-gnu-tools-avr-gcc.html을 통해 이루어졌으며 설치 방법을 확인하는 데 도움이되는 경우 (이전에 Xcode를 설치 했음)

해결책은 간단합니다. 난 그냥 내 설정을 어지럽히 지 않고 두 플랫폼 중 하나를 컴파일 할 수 없도록하고 싶다.

감사합니다.

답변

3

설치 한 AVR 도구의 교차 컴파일러가 아닌 버전 (예 : gcc, ld 등)을 제거하려는 경우가 많으므로 교차 컴파일러 및 관련 도구는 target- 특정 이름.

이렇게하려면 설치된 디렉토리 (/usr/local/bin?)를 찾아서 동시에 설치된 모든 도구를 찾으십시오. 예를 들어,이 (당신에게 아이디어를 제공하기 위해) 내 리눅스 시스템에서 발생하는 것입니다 :

$ which gcc 
/usr/bin/gcc 
$ cd /usr/bin 
$ ls -li *gcc* 
189389 -rwxr-xr-x 2 root root 268088 Dec 6 2011 gcc 
195145 -rwxr-xr-x 1 root root 2018 Aug 16 2010 gccmakedep 
189389 -rwxr-xr-x 2 root root 268088 Dec 6 2011 x86_64-redhat-linux-gcc 

나는 그 컴파일러를 시작하는 유일한 방법으로 x86_64-redhat-linux-gcc를 떠나, gcc을 제거 할 것 (그들은 열심히 그들로 연결됩니다 동일한 아이 노드를 공유). 동일한 도구 모음의 날짜별로 식별 할 수있는 다른 도구도 있습니다.

대체 방법은 교차 컴파일러를 $PATH에없는 디렉토리에 설치하는 것입니다.

+0

'which'를 실행하면'/ usr/local/avr/bin/gcc'가됩니다. 순진하게도 .bash_profile에있는 불쾌한 $ PATH를 포함하면 모든 것이 제대로 작동합니다 (AVR 프로그램을 컴파일 할 때까지). 나는 avr-gcc를 찾은 것 같아서 대신/usr/local/bin에 심볼릭 링크를 만들 수 있다고 생각한다. – Josh

+0

아니요, 크로스 컴파일 할 때'Makefile'에서 CC를'/ usr/local/avr/bin/gcc '로 바꾸십시오. – trojanfoe

+0

Ta, 그랬어! – Josh

0

(Xcode 환경 설정 창에서) Xcode 명령 줄 도구 패키지를 설치 했습니까? 당신은 명령어 라인 gcc (그리고 make, ld, etc)를 얻지 못한다.

+0

iirc가 올해 초에 명시 적으로 패키지를 설치하지 않았습니다. 2 년 전 Xcode를 설치했고 그 이후로 make 등을 사용할 수있었습니다. 어쨌든 make gcc를 사용하여 avr을 구성해야했습니다. – Josh

관련 문제