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

そして、これは私が受け取るthエラーです:

  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をコピーする必要がありますか?


上下にいくつかの行を表示してください!
フォルカーシーゲル14

conの結果を出力しdpkg --list | grep compilerますか?
AlexGreg 14

回答:


24

configure出力がこれに似ている場合、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が多数の既知のコンパイラ名を1つずつ確認することでC ++コンパイラを見つけようとしたことを示しています。
開始時に、それg++が欠落していることがわかります-優先されるものが最初にチェックされます。
しかし、使用したい他のコンパイラを見つけようとしています。


21

CentOS 7にprotobuf-2.5.0をインストール中に同様のタイプのエラーが発生しました。これは、コマンドでgcc-c ++をインストールする必要があるためです。

 yum install gcc-c++

2
yum別のLinuxディストリビューションのパッケージマネージャーであり、ここからは外れています。UbuntuはAptを使用します。
デビッドフォースター

11
グーグルが私をここに連れてきてくれて、彼の答えはまだ役に立ちましたと叫ぶだけです。
Shadoninja

3
技術的にトピックに関係なくても、この回答をありがとう。手伝ってくれました。
エドダニエル

2
ありがとう。これにより、PHP 7.0をAmazon Linux Machineにインストールする手間が省けます。
マルコスレジス

2

私の解決策は、gccを指すシンボリックリンクを/ lib / cppに作成することでした。

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.