cygwin is a temperamental beast. I don't think the compiler is to blame but rather cygwin mis-providing something when many files are being dealt with quickly.
make all simply calls make ACTION=libfast tree When make all fails you can go down to the place it crashes and run make ACTION=libfast tree and it will finish compiles in all the directories under that current directory. So you can get everything compiled with hopefully not too many manual makes needed. I know this is not particularly satisfactory by we still dream about a knight coming along in shining armor with lots of Windows experience figuring out a clean and simple way to avoid cygwin completely in the build process. Barry On Sep 5, 2013, at 6:16 PM, Chetan Jhurani <[email protected]> wrote: > I'm looking for suggestions on how to understand different compiler > behavior in make "libfast" in a sub-directory and make "all" in > top-level petsc directory. > > The reason is that make all leads to an internal compiler error, seen > in make.log. But doing make libfast for the same arch in the corresponding > subdirectory works fine. So it is hard to work around the internal > compiler error via some simplification. This is with cygwin and visual > studio 2012. The same petsc code compiles fine with an older visual studio. > > Here is an example of the error from make.log, which > consistently happens here for a particular arch. > > petsc34\src\mat\impls\sbaij\seq\sbaij2.c(854) : fatal error C1001: An > internal error has occurred in the compiler. > (compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 211) > To work around this problem, try simplifying or changing the program near the > locations listed above. > Please choose the Technical Support command on the Visual C++ > Help menu, or open the Technical Support help file for more information > INTERNAL COMPILER ERROR in 'C:\Program Files (x86)\Microsoft Visual Studio > 11.0\VC\BIN\amd64\cl.exe' > > The error happens in a different location (again consistently) > for a different arch. > > petsc34\src\mat\impls\sbaij\seq\sbstream\sbstrmfact.c(434) > > Both errors don't get reproduced if I do a make libfast in these > directories. I also invoked the compiler via cl and win32fe > and both these ways also work fine and generate object files of > non-zero sizes. > > Thanks, > > Chetan > >
