C ++ 전 처리기“/ lib / cpp”가 완전성 검사에 실패 함


21

HDF5를 컴파일해야하며 구성 프로세스 후에이 오류가 발생합니다.

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

그리고 나는 cpp내 설치를 알고ubuntu

어떤 도움이라도 정말로 감사하겠습니다 :) 이것은 출력입니다 dpkg --list | grep compiler

ii  gcc                                                        4:4.8.2-1ubuntu6                                    amd64        GNU C compiler
ii  gcc-4.8                                               4.8.2-19ubuntu1                                     amd64        GNU C compiler
ii  gfortran                                              4:4.8.2-1ubuntu6                                    amd64        GNU Fortran 95 compiler
ii  gfortran-4.8                                          4.8.2-19ubuntu1                                     amd64        GNU Fortran compiler
ii  hardening-includes                                    2.5ubuntu2                                          all          Makefile for enabling compiler flags for security hardening
ii  libllvm3.4:amd64                                      1:3.4-1ubuntu3                                      amd64        Modular compiler and toolchain technologies, runtime library
ii  libxkbcommon0:amd64                                   0.4.1-0ubuntu1                                      amd64        library interface to the XKB compiler

그리고 이것은 내가받는 오류입니다.

  nazanin@barashka:~/hdf5-1.8.13$ ./configure --with-zlib=/home/nazanin/local    --prefix=/home/nazanin/local
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking shell variables initial values... done
checking if basename works... yes
checking if xargs works... yes
checking for cached host... none
checking for config x86_64-unknown-linux-gnu... no
checking for config x86_64-unknown-linux-gnu... no
checking for config unknown-linux-gnu... no
checking for config unknown-linux-gnu... no
checking for config x86_64-linux-gnu... no
checking for config x86_64-linux-gnu... no
checking for config x86_64-unknown... no
checking for config linux-gnu... found
compiler 'gcc' is GNU gcc-4.8.2
checking for config ./config/site-specific/host-barashka... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking if unsupported combinations of configure options are allowed... no
checking if Fortran interface enabled... no
checking if Fortran 2003 interface enabled... yes
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking dependency style of g++... none
checking how to run the C++ preprocessor... /lib/cpp
configure: error: in `/home/nazanin/hdf5-1.8.13':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details

여기에 config.log를 복사해야합니까?


위와 아래에 몇 줄을 보여주세요!
Volker Siegel

con의 결과를 출력 dpkg --list | grep compiler합니까?
AlexGreg

답변:


24

구성 출력이 이와 비슷하게 보이면 C ++ 컴파일러가 누락 된 것입니다.

[ ... ]
*** C++ compiler and preprocessor
checking for g++... no
checking for c++... no
checking for gpp... no
checking for aCC... no
checking for CC... no
checking for cxx... no
checking for cc++... no
checking for cl.exe... no
checking for FCC... no
checking for KCC... no
checking for RCC... no
checking for xlC_r... no
checking for xlC... no
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking dependency style of g++... none
checking how to run the C++ preprocessor... /lib/cpp
configure: error: in `/home/ubuntu/.local/share/Trash/files/openmpi-1.4.1':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.


GNU C ++ 컴파일러를 설치하려면
apt-get install g++


configure 출력은 ./configure가 알려진 많은 컴파일러 이름을 하나씩 확인하여 C ++ 컴파일러를 찾으려고 시도했음을 보여줍니다.
처음에 우리 g++는 누락 된 것을 확인합니다 -선호하는 것이 먼저 확인되었습니다.
그러나 선호하는 다른 컴파일러를 찾으려고 노력합니다.


21

centos 7에 protobuf-2.5.0을 설치하는 동안 비슷한 유형의 오류가 발생했습니다. 명령으로 gcc-c ++를 설치해야합니다.

 yum install gcc-c++

2
yum여기서 다루지 않은 다른 Linux 배포판의 패키지 관리자입니다. 우분투는 Apt를 사용합니다.
David Foerster

11
나는 구글이 나를 여기로 데려왔고 그의 대답이 여전히 도움이되었다고 외쳤다.
Shadoninja

3
기술적으로 주제가 맞지 않더라도이 답변에 감사드립니다. 나를 도와주었습니다.
Ed Daniel

2
감사. 이렇게하면 Amazon Linux 머신에 PHP 7.0을 설치할 수 없습니다.
Marcos Regis

2

내 해결책은 / lib / cpp에서 gcc를 가리키는 심볼릭 링크를 만드는 것입니다.

ln -sv "$(which gcc)" /lib/cpp


1

이것을 당신의 환경에 두는 것이 트릭을 할 수 있습니다 :

GCC_PATH=#add the root directory to the gcc installation
export CPPFLAGS=-I$GCC_PATH/include/c++/5.3.0:$CPPFLAGS

작동하면 사용하려는 gcc 버전과 포함하려는 gcc 버전 사이에 라이브러리 충돌이 있음을 의미합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.