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

Chetan Jhurani chetan.jhurani at gmail.com
Thu Sep 5 18:16:08 CDT 2013


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