Barry is correct. I wanted to note that this is fixed in petsc-dev.<br><br>  Matt<br><br><div class="gmail_quote">On Fri, Sep 18, 2009 at 4:21 AM, David Colignon <span dir="ltr">&lt;<a href="mailto:David.Colignon@ulg.ac.be">David.Colignon@ulg.ac.be</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br>
<br>
I already have had the same kind of problem and here is the answer I got from Barry Smith :<br>
<br>
<br>
   This happens because the BuildSystem inherits the bad feature of autoconf that checks for functions<br>
using the C compiler even when the C++ compiler will be used to actually compile the package.<br>
<br>
Edit $PETSC_ARCH/include/petscconf.h and remove the lines<br>
<br>
<br>
#ifndef PETSC_HAVE_ISINF<br>
#define PETSC_HAVE_ISINF 1<br>
#endif<br>
<br>
<br>
#ifndef PETSC_HAVE_ISNAN<br>
#define PETSC_HAVE_ISNAN 1<br>
#endif<br>
<br>
DO NOT rerun config/configure.py just do the make all again.<br>
<br>
   Barry<br>
<br>
<br>
-- <br>
David Colignon, Ph.D.<br>
Collaborateur Logistique du F.R.S.-FNRS<br>
CÉCI - Consortium des Équipements de Calcul Intensif<br>
ACE - Applied &amp; Computational Electromagnetics<br>
Sart-Tilman B28<br>
Université de Liège<br>
4000 Liège - BELGIQUE<br>
Tél: +32 (0)4 366 37 32<br>
Fax: +32 (0)4 366 29 10<br>
WWW:    <a href="http://hpc.montefiore.ulg.ac.be/" target="_blank">http://hpc.montefiore.ulg.ac.be/</a><br>
Agenda: <a href="http://www.google.com/calendar/embed?src=david.colignon%40gmail.com" target="_blank">http://www.google.com/calendar/embed?src=david.colignon%40gmail.com</a><div><div></div><div class="h5"><br>
<br>
<br>
<br>
Niall Moran wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
<br>
I am trying to compile petsc on snow leopard. I need to have complex support and support for C++. I am using the gcc and g++ compilers that come packaged with the developers tools<br>
<br>
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5646)<br>
Copyright (C) 2007 Free Software Foundation, Inc.<br>
This is free software; see the source for copying conditions.  There is NO<br>
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.<br>
<br>
and the gfortran compiler from <a href="http://hpc.sourceforge.net/" target="_blank">http://hpc.sourceforge.net/</a>. The configuration file I am using is<br>
<br>
#!/usr/bin/env python<br>
<br>
configure_options = [<br>
  &#39;--FFLAGS=-m64&#39;,<br>
  &#39;--CFLAGS=-m64&#39;,<br>
  &#39;--CXXFLAGS=-m64&#39;,<br>
  &#39;--LDFLAGS=-L/usr/lib&#39;,<br>
  &#39;--with-python=0&#39;,<br>
  &#39;--with-shared=0&#39;,<br>
  &#39;--with-dynamic=0&#39;,<br>
  &#39;--with-mpi-dir=/Users/nmoran/local/openmpi&#39;,<br>
  &#39;--with-clanguage=C++&#39;,<br>
  &#39;--with-scalar-type=complex&#39;,<br>
  &#39;--with-debugging=yes&#39;,<br>
  &#39;--with-gcov=0&#39;<br>
  ]<br>
<br>
if __name__ == &#39;__main__&#39;:<br>
  import sys,os<br>
  sys.path.insert(0,os.path.abspath(&#39;config&#39;))<br>
  import configure<br>
  configure.petsc_configure(configure_options)<br>
<br>
<br>
I am getting errors that the macros isinf and isnan cannot be found in the scope for various files. The first one listed is src/sys/ftn-custom/zutils.c on the lines<br>
<br>
 return (PetscTruth) PetscIsInfOrNanScalar(*v);<br>
and<br>
 return (PetscTruth) PetscIsInfOrNanReal(*v);<br>
<br>
These macros are defined in /usr/include/architecture/i386/math.h. No errors are found if scalar-type is real. It seems the #include&lt;complex&gt; somehow undefines these macros. I have got petsc to compile by redefining these macros at the top of each of the problem files but this is not a very elegant solution.<br>

<br>
Regards.<br>
<br>
Niall.<br>
</blockquote>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>