[petsc-dev] different compiler behavior in make libfast and make all

Barry Smith bsmith at mcs.anl.gov
Thu Sep 5 20:52:43 CDT 2013


  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 <chetan.jhurani at gmail.com> 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
> 
> 




More information about the petsc-dev mailing list