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

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

我需要编译 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 复制到这里?谢谢

答案1

如果您的配置输出看起来与此类似,则缺少 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++缺少一个 - 首选的编译器,我们首先检查了它。
但它继续尝试查找您可能更喜欢使用的其他编译器。

答案2

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

 yum install gcc-c++

答案3

我的解决方案是在 /lib/cpp 创建一个指向 gcc 的符号链接。

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

答案4

检查如何运行 C++ 预处理器.../lib/cpp configure:错误:在/tmp/pear/temp/pear-build-rootMQGBHj/sqlsrv-5.11.0': configure: error: C++ preprocessor "/lib/cpp" fails sanity check Seeconfig.log' 中了解更多详细信息错误:'/tmp/pear/temp/sqlsrv/configure --with-php-config=/usr/bin/php-config' 失败

我在 ubuntu 20.04 上为 php8.1 安装 sqlsrv 和 pdo_sqlsrv 时遇到了类似的错误,

使用以下命令解决了该问题

安装 g++

相关内容