C++ 预处理器“/lib/cpp”未通过完整性检查

naz*_*nin 31 configuration 14.04

我需要编译 HDF5,在配置过程后,我收到此错误:

configure: error: C++ preprocessor "/lib/cpp" fails sanity check
Run Code Online (Sandbox Code Playgroud)

我知道我已经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
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误:

  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
Run Code Online (Sandbox Code Playgroud)

我必须在这里复制 config.log 吗?谢谢

Vol*_*gel 35

If your configure output looks similar tho this, the C++ compiler is missing:

[ ... ]
*** 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.
Run Code Online (Sandbox Code Playgroud)


To install the GNU C++ compiler, use
apt-get install g++


The configure output shows that ./configure tried to find a C++ compiler by checking for a lot of known compiler names, one by one.
At the start, we see that g++ is missing - the preferred one, checked first.
But it goes on trying to find some other compiler that you may prefer to use.


小智 26

我在 centos 7 上安装 protobuf-2.5.0 期间遇到了类似类型的错误,为此我必须通过命令安装 gcc-c++ -

 yum install gcc-c++
Run Code Online (Sandbox Code Playgroud)

  • 我只想大声说谷歌把我带到这里,他的回答仍然很有帮助。 (11认同)
  • 感谢您的回答,即使它在技术上与主题无关。帮了我。 (3认同)
  • `yum` 是不同 Linux 发行版的包管理器,这里不再讨论。Ubuntu 使用 Apt。 (2认同)
  • 谢谢。这节省了我在 Amazon Linux 机器上安装 PHP 7.0 的麻烦。 (2认同)