Ich muss HDF5 kompilieren und nach der Konfiguration erhalte ich folgende Fehlermeldung:
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
Und ich weiß, dass ich cpp
auf meinem installiert habeubuntu
Jede Hilfe wäre sehr dankbar :) Dies ist die Ausgabe von 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
Und das ist der Fehler, den ich erhalte:
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
Muss ich das config.log hier kopieren? Danke
14.04
configuration
Nazanin
quelle
quelle
dpkg --list | grep compiler
?Antworten:
Wenn Ihre Konfigurationsausgabe ähnlich aussieht, fehlt der C ++ - Compiler:
Verwenden Sie zum Installieren des GNU C ++ - Compilers
apt-get install g++
Die Ausgabe von configure zeigt, dass ./configure versucht hat, einen C ++ - Compiler zu finden, indem nacheinander nach vielen bekannten Compilernamen gesucht wurde.
Zu Beginn sehen wir, dass
g++
das fehlt - das bevorzugte, das zuerst überprüft wurde.Es wird jedoch weiterhin versucht, einen anderen Compiler zu finden, den Sie möglicherweise bevorzugen.
quelle
Ich habe während der Installation von protobuf-2.5.0 auf Centos 7 eine ähnliche Art von Fehler bekommen. Dafür muss ich gcc-c ++ per Befehl installieren.
quelle
yum
ist der Paketmanager einer anderen Linux-Distribution, die hier nicht zum Thema gehört. Ubuntu benutzt Apt.Meine Lösung bestand darin, einen Symlink unter / lib / cpp zu erstellen, der auf gcc verweist.
ln -sv "$(which gcc)" /lib/cpp
quelle
Wenn Sie dies in Ihre Umgebung einfügen, reicht es möglicherweise aus:
Wenn es funktioniert, liegt ein Bibliothekskonflikt zwischen der Version von gcc, die Sie verwenden möchten, und der Version von gcc vor, die es einzuschließen versucht.
quelle