Cygwin gcc 4.8.3版本未能生成

Cygwin gcc 4.8.3版本未能生成,gcc,g++,cygwin,Gcc,G++,Cygwin,我一直在尝试在cygwin上编译/制作GCC4.8.3。我安装的cygwin版本是**cygwin x86_64。我还预装了gcc,即5.4.0版 我之所以想要这个特定版本的gcc,是因为我需要安装Python3.5.2,这样我就可以在cygwin上安装tensorflow。我曾尝试使用Pyenv安装Python3.5.2,但我猜Python3.5.2的库是用gcc4.8.x版本预编译的,因为我面临Pyenv无法运行C编译程序的问题。此外,我认为,问题可能是因为版本。我使用的是64位的Windo

我一直在尝试在cygwin上编译/制作GCC4.8.3。我安装的cygwin版本是**cygwin x86_64。我还预装了gcc,即5.4.0版

我之所以想要这个特定版本的gcc,是因为我需要安装Python3.5.2,这样我就可以在cygwin上安装tensorflow。我曾尝试使用Pyenv安装Python3.5.2,但我猜Python3.5.2的库是用gcc4.8.x版本预编译的,因为我面临Pyenv无法运行C编译程序的问题。此外,我认为,问题可能是因为版本。我使用的是64位的Windos10

gcc的配置成功完成,但是我在运行make文件时遇到了一个问题。这是错误消息:

          checking how to run the C++ preprocessor... /lib/cpp
          configure: error: C++ preprocessor "/lib/cpp" fails sanity check
          See `config.log' for more details.
          make[2]: *** [Makefile:4763: configure-stage1-gmp] Error 1
          make[2]: Leaving directory 
          '/cygdrive/c/softwares/cygwin64/lib/gcc_4_8_3'
          make[1]: *** [Makefile:20946: stage1-bubble] Error 2
          make[1]: Leaving directory 
          '/cygdrive/c/softwares/cygwin64/lib/gcc_4_8_3'
           make: *** [Makefile:890: all] Error 2
我检查了config.log,发现如下:

           /usr/include/sys/cdefs.h:45:20: fatal error: stddef.h: No such 
           file or directory
           #include <stddef.h>
                ^
           compilation terminated.
           configure:12120 $? = 1
           configure: failed program was:

            | /* confdefs.h.  */
            | #define PACKAGE_NAME "GNU MP"
            | #define PACKAGE_TARNAME "gmp"
            | #define PACKAGE_VERSION "4.3.2"
            | #define PACKAGE_STRING "GNU MP 4.3.2"
            | #define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org"
            | #define PACKAGE "gmp"
            | #define VERSION "4.3.2"
            | #define WANT_FFT 1
            | #define HAVE_HOST_CPU_none 1
            | #define PROTOTYPES 1
            | #define __PROTOTYPES 1
            | #define STDC_HEADERS 1
            | #define HAVE_SYS_TYPES_H 1
            | #define HAVE_SYS_STAT_H 1
            | #define HAVE_STDLIB_H 1
            | #define HAVE_STRING_H 1
            | #define HAVE_MEMORY_H 1
            | #define HAVE_STRINGS_H 1
            | #define HAVE_INTTYPES_H 1
            | #define HAVE_STDINT_H 1
            | #define HAVE_UNISTD_H 1
            | #define HAVE_STRING_H 1
            | #define HAVE_DLFCN_H 1
            | /* end confdefs.h.  */
            | #ifdef __STDC__
            | # include <limits.h>
            | #else
            | # include <assert.h>
            | #endif
            |            Syntax error

             configure:12114: g++ -E -DNO_ASM conftest.cpp
             In file included from /usr/include/features.h:12:0,
             from /usr/include/limits.h:11,
             from conftest.cpp:27:
/usr/include/sys/cdefs.h:45:20:致命错误:stddef.h:没有这样的错误
文件或目录
#包括
^
编译终止。
配置:12120$?=1.
配置:失败的程序是:
|/*confdefs.h*/
|#定义包名称“GNU MP”
|#定义包装名称“gmp”
|#定义软件包_版本“4.3.2”
|#定义包_字符串“GNU MP 4.3.2”
|#定义“gmp”报告包-bugs@gmplib.org"
|#定义包装“gmp”
|#定义版本“4.3.2”
|#定义需求#1
|#定义HAVE_HOST_CPU_none 1
|#定义原型1
|定义原型1
|#定义STDC#U标题1
|#定义系统类型_h1
|#定义有系统统计1
|#定义标准库1
|#定义HAVE_STRING_H 1
|#定义有_内存_h1
|#定义有_字符串_h1
|#定义具有_INTTYPES_H 1
|定义有力1
|#定义有_UNISTD_H 1
|#定义HAVE_STRING_H 1
|#定义有_DLFCN_H 1
|/*end CONDEFS.h*/
|#ifdef_uustdc__
|#包括
|#其他
|#包括
|#endif
|语法错误
配置:12114:g++-E-DNO_ASM conftest.cpp
在/usr/include/features.h:12:0中包含的文件中,
从/usr/include/limits.h:11,
来自conftest.cpp:27:
我还将/lib/cpp dll文件包含在windows环境路径中。不过,这并没有改变任何事情

我认为这个问题是由于文件丢失造成的。我可以在哪个目录中找到这个文件

或者是否有其他机制来编译gcc。我不想使用预安装的gcc版本,因为我打算在cygwin上安装Python 3.5.2和tensorflow

任何类型的帮助都会很好


谢谢。

stddef.h是gcc编译器的一部分

$ cygcheck -l gcc-core |grep stddef.h
/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/include/stddef.h

我已经找到了解决问题的办法


我已经用apt-cyg卸载了cygwin-Python,现在,windows版本的Python运行良好。

仅供记录,另一种方法是使用
setupx86_64.exe
安装python,并在
.pyenv/versions//bin
中手动符号链接二进制文件:请参阅问题

$cygcheck-l gcc core | grep stddef.h/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/include/stddef.h