Compile GCC 7 : error: C++ preprocessor "/lib/cpp" fails sanity check
Compile GCC 7 : error: C++ preprocessor "/lib/cpp" fails sanity check
正在尝试从源代码构建 GCC 7.1.0。这不是我的第一次,它曾经在过去的 GCC 版本中工作。
../configure --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 \
--prefix=/c/mingw64 --with-sysroot=/c/mingw64 \
--with-gmp=/c/mingw64/gmp --with-mpfr=/c/mingw64/mpfr --with-mpc=/c/mingw64/mpc \
--with-isl=/c/mingw64/isl \
--disable-nls --disable-multilib --disable-libstdcxx-pch --disable-shared \
--disable-win32-registry --disable-libstdcxx-debug --disable-libstdcxx-verbose \
--with-tune=haswell --enable-lto --enable-checking=release --enable-languages=c,c++ \
--enable-libstdcxx-time --enable-threads=win32 --enable-libatomic --enable-fully-dynamic-string
错误
checking how to run the C++ preprocessor... /lib/cpp
configure: error: in `/c/mingw64/src/build/gcc':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
make[2]: *** [Makefile:4309: configure-stage2-gcc] Error 1
make[2]: Leaving directory '/c/mingw64/src/build'
make[1]: *** [Makefile:20550: stage2-bubble] Error 2
make[1]: Leaving directory '/c/mingw64/src/build'
make: *** [Makefile:936: all] Error 2
完成config.log:https://pastebin.com/raw/mEeJHCuK
请注意,我 /lib/cpp
从未存在过。
我做了一些 google 搜索并尝试了所有建议,包括:
CXX=/c/mingw/bin/g++
(与 CC
和 CPP
类似)
- 将
gcc-7.1.0/gcc/configure
中出现的所有 /lib/cpp
替换为 /c/mingw/bin/g++
。这给了我:
conftest.c:14:8: error: 'Syntax' does not name a type
Syntax error
^
(^ 类似于 Compiling on a mac: What does it mean if my compiler fails a sanity check?)
有一个旧的(严重的)错误似乎与 https://gcc.gnu.org/ml/gcc-bugs/2015-10/msg00604.html 相关,但没有更新。
CPP
不应指向 g++
; CPP
是C预处理器,所以让它指向C预处理器:
CPP=/c/mingw/bin/cpp
您链接到的问题中提到了这一点。
正在尝试从源代码构建 GCC 7.1.0。这不是我的第一次,它曾经在过去的 GCC 版本中工作。
../configure --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 \
--prefix=/c/mingw64 --with-sysroot=/c/mingw64 \
--with-gmp=/c/mingw64/gmp --with-mpfr=/c/mingw64/mpfr --with-mpc=/c/mingw64/mpc \
--with-isl=/c/mingw64/isl \
--disable-nls --disable-multilib --disable-libstdcxx-pch --disable-shared \
--disable-win32-registry --disable-libstdcxx-debug --disable-libstdcxx-verbose \
--with-tune=haswell --enable-lto --enable-checking=release --enable-languages=c,c++ \
--enable-libstdcxx-time --enable-threads=win32 --enable-libatomic --enable-fully-dynamic-string
错误
checking how to run the C++ preprocessor... /lib/cpp
configure: error: in `/c/mingw64/src/build/gcc':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
make[2]: *** [Makefile:4309: configure-stage2-gcc] Error 1
make[2]: Leaving directory '/c/mingw64/src/build'
make[1]: *** [Makefile:20550: stage2-bubble] Error 2
make[1]: Leaving directory '/c/mingw64/src/build'
make: *** [Makefile:936: all] Error 2
完成config.log:https://pastebin.com/raw/mEeJHCuK
请注意,我 /lib/cpp
从未存在过。
我做了一些 google 搜索并尝试了所有建议,包括:
CXX=/c/mingw/bin/g++
(与CC
和CPP
类似)- 将
gcc-7.1.0/gcc/configure
中出现的所有/lib/cpp
替换为/c/mingw/bin/g++
。这给了我:
conftest.c:14:8: error: 'Syntax' does not name a type Syntax error ^
(^ 类似于 Compiling on a mac: What does it mean if my compiler fails a sanity check?)
有一个旧的(严重的)错误似乎与 https://gcc.gnu.org/ml/gcc-bugs/2015-10/msg00604.html 相关,但没有更新。
CPP
不应指向 g++
; CPP
是C预处理器,所以让它指向C预处理器:
CPP=/c/mingw/bin/cpp
您链接到的问题中提到了这一点。