gcc: 온전성 검사 실패 오류, cxx USE 플래그 누락으로 인한 것 같습니다.

gcc: 온전성 검사 실패 오류, cxx USE 플래그 누락으로 인한 것 같습니다.

최근에 나는 그것을 완성했고 emerge -e world그것이 gcc플래그 없이 컴파일되었다는 것을 발견했습니다 cxx. 이제 C++ 패키지를 컴파일할 수 없습니다.

configure: error: C++ preprocessor "/lib/cpp" fails sanity check

equery f gcc|grep -v share stage3에서 반환된 파일을 복사하려고 합니다 . 도움이 되었나요? 더 쉬운 방법이 있나요?

업데이트 1 이 내 꺼야구성 로그

업데이트 2 이 내 꺼야구성 파일 만들기cxxUSE에는 플래그가 있습니다. 최근에 추가했지만 패키지를 다시 빌드할 수 없어 도움이 되지 않았습니다.

업데이트 3다음을 통해 바이너리 패키지에서 gcc-4.6.3을 다시 설치해 보았습니다.

emerge -avK gcc:4.6

성공적으로 완료되었지만 오류는 사라지지 않습니다.

추가적으로 나는 다음과 같은 사실을 발견했습니다.

configure:11955: /lib/cpp  conftest.cpp
cpp: error: conftest.cpp: C++ compiler not installed on this system
configure:11955: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "expat"
| #define PACKAGE_TARNAME "expat"
| #define PACKAGE_VERSION "2.1.0"
| #define PACKAGE_STRING "expat 2.1.0"
| #define PACKAGE_BUGREPORT "[email protected]"
| #define PACKAGE_URL ""
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h.  */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|                    Syntax error

내 시스템에 C++ 컴파일러가 설치되어 있지 않다고 주장하는 것 같습니다. 그러나 이것은 bin-package에서 설치되었기 때문에 쓰레기처럼 들리며 gcc:4.6C++ 지원으로 컴파일되었다고 가정합니다.

업데이트 4실제로 g++에는 뭔가 문제가 있습니다.

uhradio ~ # g++ queue.cpp 
gcc-config: error: could not run/locate 'g++'
uhradio ~ # cpp queue.cpp 
cpp: error: queue.cpp: C++ compiler not installed on this system

출력은 gcc-config -l다음과 같습니다

[1] x86_64-pc-linux-gnu-4.6.3 *

답변1

이것당신이 찾고있는 것일 수도 있습니다. 즉, 커널 헤더만 설치하면 완료됩니다.

답변2

그래도 도움이 되지 않았습니다. 수동으로 디렉토리 로 emerge -avK gcc:4.6추출한 다음 설정했습니다 . 도움이 되었습니다(비록 이미 그렇게 했지만 수동으로 다시 심볼릭 링크했습니다. 이제 USE 플래그를 사용하여 두 gccs(4.5 및 4.6)를 다시 빌드하고 있습니다) .gcc-4.6.3.tbz2/gcc-config 1/usr/lib/usr/lib64cxx

내 문제는 이제 또 다른 문제가 되었습니다. cxxstage3 구축 시스템에서 USE 플래그가 사라지는 이유는 무엇입니까 ? 나는 수년 동안 젠투 리눅스를 설치해 왔지만 cxx이렇게 명시적으로 USE 플래그를 설정해 본 적이 없습니다.

관련 정보