|
From: David G. <DGr...@am...> - 2015-03-05 21:43:08
|
I had previously successfully built gcc 4.9.2 ; I am now trying it again after having upgraded to the mingwrt 3.21 and I am having problems. I get through a large part of the build, but shortly after generating 13,000 lines in the log file, the xgcc compiler chokes on this file: gcc-4.9.2/libgfortran/io/unix.c at line 1133. The offending line is mode_mask = umask (S_IXUSR | S_IRWXG | S_IRWXO); The compiler has no problems with S_IXUSR but cannot find definitions for S_IRWXG and S_IRWXO. S_IXUSR is defined in sys/stat.h and I would expect theother two to be defined there as well, but they are not. A bit of searching finds both of the missing items are defined in a directory fairly deeply buried in the msys directory structure, but the definitions there look very unixish and won't do for use in the MinGW sys/stat.h. A search for the missing definitions in the source code for the previous version of mingwrt turns up nothing. The offending line of code is protected inside an #ifdef HAVE_UMASK. This leads me to believe that something in mingwrt 3.21 is causing the gcc 4.9.2 build to be misconfigured and it is causing HAVE_UMASK to be defined when it should not be, so that the build is compiling code that should not be compiled for Windows. I should file a ticket for this, but I would like to be able to propose a patch when I do that. Does anybody have any idea what could be causing this? The next step is to compare the present and previous versions of mingwrt, but I don't want to waste time reinventing wheels that someone else already knows about. |