(Please let me know if I can give any additional information that would be helpful for this problem.)<br><br><br>I&#39;m trying to use Petsc in an object-oriented C++ code, developing with g++ on Mac OS X 10.5, and I&#39;m running into some problems in the linking stage.  I&#39;ve defined an object that uses Petsc (what I&#39;m calling the GmresSolver class), and the object compiles just fine.  However, when it comes time to compile the driver (Laplace.cc) and link to Petsc libraries, I see a bunch of &quot;Undefined symbol&quot; errors.<br>

<br>In my object code that uses Petsc (GmresSolver.h), I have included the Petsc header file as:<br>extern &quot;C&quot; {<br>#include &quot;petscksp.h&quot;<br>}<br><br>In the driver (Laplace.cc), depending on how I include the Petsc header file, I get different errors.  If I include it like I do in GmresSolver.h,<br>

extern &quot;C&quot; {<br>#include &quot;petsc.h&quot;<br>}<br><br>I get a whole slew of header file syntax errors (see postscript of email).  If I just include the header file,<br>#include &quot;petsc.h&quot;<br><br>then I get the undefined symbols problem (more below).<br>

<br><br>My configure line for Petsc is <br><div style="margin-left: 40px; font-family: courier new,monospace;">Users/charles/pkg/petsc-2.3.3-p15/config/configure.py \<br>   --prefix=$HOME/pkg/petsc-2.3.3-p15 \<br>   --with-python \<br>

   --with-mpi=0 \<br>   --with-debugging=1 \<br>   PETSC_DIR=$HOME/pkg/petsc-2.3.3-p15<br></div><br><br><br>Here&#39;s my step-by-step to produce the error:<br><br>1. Compile all non-Petsc object code<br><br>2. Compile object code that uses Petsc using this command:<br>

<br><div style="margin-left: 40px; font-family: courier new,monospace;">g++ -c -Wall  -I.  -I/Users/charles/pkg/petsc-2.3.3-p15 -I/Users/charles/pkg/petsc-2.3.3-p15/bmake/darwin9.5.0-c-opt -I/Users/charles/pkg/petsc-2.3.3-p15/include ./GmresSolver.<br>

</div><br>(as mentioned, this works fine.)<br><br>3. Compile the driver, &quot;Laplace.cc&quot;, and link it to Petsc&#39;s libraries:<br><br><div style="margin-left: 40px;"><span style="font-family: courier new,monospace;">g++  \</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;"> -I/Users/charles/pkg/petsc-2.3.3-p15/  \</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> -I/Users/charles/pkg/petsc-2.3.3-p15/include  \</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;"> -I/Users/charles/pkg/petsc-2.3.3-p15/include/mpiuni  \</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> -I/Users/charles/pkg/petsc-2.3.3-p15/include/petsc \</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;"></span><span style="font-family: courier new,monospace;"> -DPETSC_STATIC_INLINE=&quot;&quot;  \</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> Laplace.cc  \</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;"> -L/Users/charles/pkg/petsc-2.3.3-p15 \</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> -L/Users/charles/pkg/petsc-2.3.3-p15/lib/darwin9.5.0-c-opt \</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;"> -lpetscts -lpetscsnes -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc \</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> BoundaryConditionFactory.o  BoundaryCondition.o Field.o FileIO.o GmresSolver.o JacobiSolver.o Timer.o TimerFactory.o</span><br>

</div><br>(Note: I don&#39;t know why I need -DPETSC_STATIC_INLINE=&quot;&quot;, but I do, otherwise I see a bunch of errors like &quot;petsc-2.3.3-p15/include/petscviewer.h:117: error: ‘PETSC_STATIC_INLINE’ does not name a type&quot; - anyone know what that&#39;s all about?)<br>

<br>This last compiler command gives the undefined symbols errors:<br><br><div style="margin-left: 40px;"><span style="font-family: courier new,monospace;">Undefined symbols:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;PetscOptionsGetReal(char const*, char const*, double*, PetscTruth*)&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      PetscOptionsGetReal(char const*, double*, PetscTruth*)in ccPG7mg3.o</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;_Petsc_MPI_Abort&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscMaxSum_Local in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscADMax_Local in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscADMin_Local in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscSynchronizedFlush in libpetsc.a(mprint.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscSynchronizedFlush in libpetsc.a(mprint.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscOptionsCheckInitial_Private in libpetsc.a(init.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscError in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscMallocDumpLog in libpetsc.a(mtr.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscSequentialPhaseBegin_Private in libpetsc.a(mpiu.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscSequentialPhaseEnd_Private in libpetsc.a(mpiu.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscSignalHandler_Private in libpetsc.a(signal.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscSignalHandler_Private in libpetsc.a(signal.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscDefaultSignalHandler in libpetsc.a(signal.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscMPIAbortErrorHandler in libpetsc.a(errstop.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscDefaultFPTrap in libpetsc.a(fp.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;_Petsc_MPI_Comm_dup&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscFinalize in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscSequentialPhaseBegin in libpetsc.a(mpiu.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommDuplicate in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;_Petsc_MPI_Init&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscInitialize in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;PetscOptionsGetTruth(char const*, char const*, PetscTruth*, PetscTruth*)&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      PetscOptionsGetTruth(char const*, PetscTruth*, PetscTruth*)in ccPG7mg3.o</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;PetscInitialize(int*, char***, char const*, char const*)&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      PetscInitialize(int*, char***)in ccPG7mg3.o</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _main in ccPG7mg3.o</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  &quot;_MPIUNI_TMP&quot;, referenced from:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in ccPG7mg3.o</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(mprint.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(init.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(options.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(mpinit.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(mtr.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(mpiu.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(verboseinfo.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(adebug.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(binv.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(filev.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(eventLog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(view.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(pdisplay.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(mpiuopen.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(draw.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(sysio.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(pbarrier.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(dupl.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(fretrieve.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(send.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(dscatter.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(petscvu.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(axis.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(random.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(drawv.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _MPIUNI_TMP$non_lazy_ptr in libpetsc.a(lg.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  &quot;PetscOptionsGetScalar(char const*, char const*, double*, PetscTruth*)&quot;, referenced from:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      PetscOptionsGetScalar(char const*, double*, PetscTruth*)in ccPG7mg3.o</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  &quot;_Petsc_MPI_Keyval_create&quot;, referenced from:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscViewerASCIIGetStdout in libpetsc.a(vcreatea.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscViewerASCIIGetStderr in libpetsc.a(vcreatea.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscViewerASCIIOpen in libpetsc.a(vcreatea.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscSequentialPhaseBegin in libpetsc.a(mpiu.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PETSC_VIEWER_BINARY_ in libpetsc.a(binv.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscViewerDestroy_ASCII in libpetsc.a(filev.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscCommGetNewTag in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommGetNewTag in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscCommGetNewTag in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommDuplicate in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscCommDuplicate in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommDuplicate in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscCommDestroy in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommDestroy in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscCommDestroy in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscSharedTmp in libpetsc.a(fretrieve.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscSharedWorkingDirectory in libpetsc.a(fretrieve.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PETSC_VIEWER_SOCKET_ in libpetsc.a(send.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PETSC_VIEWER_DRAW_ in libpetsc.a(drawv.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  &quot;_Petsc_MPI_Attr_delete&quot;, referenced from:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscSequentialPhaseEnd in libpetsc.a(mpiu.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommDestroy in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;_Petsc_MPI_Attr_get&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscViewerASCIIGetStdout in libpetsc.a(vcreatea.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscViewerASCIIGetStderr in libpetsc.a(vcreatea.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscViewerASCIIOpen in libpetsc.a(vcreatea.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscViewerASCIIOpen in libpetsc.a(vcreatea.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscSequentialPhaseEnd in libpetsc.a(mpiu.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PETSC_VIEWER_BINARY_ in libpetsc.a(binv.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscViewerDestroy_ASCII in libpetsc.a(filev.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscCommGetNewTag in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommGetNewTag in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscCommDuplicate in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommDuplicate in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscCommDuplicate in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommDuplicate in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscCommDuplicate in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommDestroy in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscCommDestroy in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommDestroy in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscCommDestroy in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscSharedTmp in libpetsc.a(fretrieve.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscSharedWorkingDirectory in libpetsc.a(fretrieve.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PETSC_VIEWER_SOCKET_ in libpetsc.a(send.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PETSC_VIEWER_DRAW_ in libpetsc.a(drawv.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  &quot;_Petsc_MPI_Attr_put&quot;, referenced from:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscViewerASCIIGetStdout in libpetsc.a(vcreatea.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscViewerASCIIGetStderr in libpetsc.a(vcreatea.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscViewerASCIIOpen in libpetsc.a(vcreatea.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscViewerASCIIOpen in libpetsc.a(vcreatea.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscSequentialPhaseBegin in libpetsc.a(mpiu.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PETSC_VIEWER_BINARY_ in libpetsc.a(binv.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscViewerDestroy_ASCII in libpetsc.a(filev.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommDuplicate in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscCommDuplicate in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommDuplicate in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscSharedTmp in libpetsc.a(fretrieve.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscSharedWorkingDirectory in libpetsc.a(fretrieve.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PETSC_VIEWER_SOCKET_ in libpetsc.a(send.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PETSC_VIEWER_DRAW_ in libpetsc.a(drawv.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;PetscOptionsGetString(char const*, char const*, char*, unsigned long, PetscTruth*)&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      PetscOptionsGetString(char const*, char*, unsigned long, PetscTruth*)in ccPG7mg3.o</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;_Petsc_MPI_Finalize&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscFinalize in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _Petsc_MPI_DebuggerOnError in libpetsc.a(init.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscAttachDebuggerErrorHandler in libpetsc.a(adebug.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;PetscOptionsGetRealArray(char const*, char const*, double*, int*, PetscTruth*)&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      PetscOptionsGetRealArray(char const*, double*, int*, PetscTruth*)in ccPG7mg3.o</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;PetscOptionsGetInt(char const*, char const*, int*, PetscTruth*)&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      PetscOptionsGetInt(char const*, int*, PetscTruth*)in ccPG7mg3.o</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;PetscViewerCreate(int, _p_PetscViewer**)&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      PetscViewerCreate(_p_PetscViewer**)      in ccPG7mg3.o</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;_Petsc_MPI_Comm_free&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscFinalize in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscSequentialPhaseEnd in libpetsc.a(mpiu.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscCommDestroy in libpetsc.a(tagm.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;PetscFinalize()&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _main in ccPG7mg3.o</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;PetscOptionsHasName(char const*, char const*, PetscTruth*)&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      PetscOptionsHasName(char const*, PetscTruth*)in ccPG7mg3.o</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;PetscOptionsGetStringArray(char const*, char const*, char**, int*, PetscTruth*)&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      PetscOptionsGetStringArray(char const*, char**, int*, PetscTruth*)in ccPG7mg3.o</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;_MPIUNI_Memcpy&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscMaxSum in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscFinalize in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscGlobalMax in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscGlobalMin in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscGlobalSum in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintSummary in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintDetailed in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintDetailed in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintDetailed in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintDetailed in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintDetailed in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintDetailed in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintDetailed in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintDetailed in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintDetailed in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintDetailed in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscLogPrintDetailed in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscLogPrintDetailed in libpetsc.a(plog.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscIntView in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscIntView in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscIntView in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscIntView in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscRealView in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscRealView in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscRealView in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscRealView in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscScalarView in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscScalarView in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscScalarView in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscScalarView in libpetsc.a(err.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      _PetscSharedTmp in libpetsc.a(fretrieve.o)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscSharedWorkingDirectory in libpetsc.a(fretrieve.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;_Petsc_MPI_Initialized&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      _PetscInitialize in libpetsc.a(pinit.o)</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;PetscOptionsGetIntArray(char const*, char const*, int*, int*, PetscTruth*)&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      PetscOptionsGetIntArray(char const*, int*, int*, PetscTruth*)in ccPG7mg3.o</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">  &quot;PetscSequentialPhaseBegin(int, int)&quot;, referenced from:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      PetscSequentialPhaseBegin(int)  in ccPG7mg3.o</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      PetscSequentialPhaseBegin()     in ccPG7mg3.o</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">  &quot;PetscSequentialPhaseEnd(int, int)&quot;, referenced from:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">      PetscSequentialPhaseEnd(int)  in ccPG7mg3.o</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">      PetscSequentialPhaseEnd()     in ccPG7mg3.o</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">ld: symbol(s) not found</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">collect2: ld returned 1 exit status</span><br>

</div><br>Is this a problem with my libpetsc.a?  Or is this problem because another library is broken or not being linked to?  Any insight into this problem would be greatly appreciated.  After several hours of trying to figure this out I feel like I&#39;m lost at sea.<br>

<br><br>Charles<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>Postscript:<br><br style="font-family: courier new,monospace;"><div style="margin-left: 40px;"><span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscviewer.h: In function ‘PetscErrorCode PetscViewerCreate(_p_PetscViewer**)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscviewer.h:117: error: declaration of C function ‘PetscErrorCode PetscViewerCreate(_p_PetscViewer**)’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscviewer.h:116: error: previous declaration ‘PetscErrorCode PetscViewerCreate(MPI_Comm, _p_PetscViewer**)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscviewer.h: In function ‘PetscErrorCode PetscViewerCreate(_p_PetscViewer**)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscviewer.h:117: error: invalid conversion from ‘int’ to ‘_p_PetscViewer**’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscviewer.h:117: error: too many arguments to function ‘PetscErrorCode PetscViewerCreate(_p_PetscViewer**)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscviewer.h:117: error: at this point in file</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsHasName(const char*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:10: error: declaration of C function ‘PetscErrorCode PetscOptionsHasName(const char*, PetscTruth*)’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:9: error: previous declaration ‘PetscErrorCode PetscOptionsHasName(const char*, const char*, PetscTruth*)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsHasName(const char*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:10: error: cannot convert ‘const char*’ to ‘PetscTruth*’ for argument ‘2’ to ‘PetscErrorCode PetscOptionsHasName(const char*, PetscTruth*)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetInt(const char*, PetscInt*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:12: error: declaration of C function ‘PetscErrorCode PetscOptionsGetInt(const char*, PetscInt*, PetscTruth*)’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:11: error: previous declaration ‘PetscErrorCode PetscOptionsGetInt(const char*, const char*, PetscInt*, PetscTruth*)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetInt(const char*, PetscInt*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:12: error: cannot convert ‘const char*’ to ‘PetscInt*’ for argument ‘2’ to ‘PetscErrorCode PetscOptionsGetInt(const char*, PetscInt*, PetscTruth*)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetTruth(const char*, PetscTruth*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:14: error: declaration of C function ‘PetscErrorCode PetscOptionsGetTruth(const char*, PetscTruth*, PetscTruth*)’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:13: error: previous declaration ‘PetscErrorCode PetscOptionsGetTruth(const char*, const char*, PetscTruth*, PetscTruth*)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetTruth(const char*, PetscTruth*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:14: error: cannot convert ‘const char*’ to ‘PetscTruth*’ for argument ‘2’ to ‘PetscErrorCode PetscOptionsGetTruth(const char*, PetscTruth*, PetscTruth*)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetReal(const char*, PetscReal*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:16: error: declaration of C function ‘PetscErrorCode PetscOptionsGetReal(const char*, PetscReal*, PetscTruth*)’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:15: error: previous declaration ‘PetscErrorCode PetscOptionsGetReal(const char*, const char*, PetscReal*, PetscTruth*)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetReal(const char*, PetscReal*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:16: error: cannot convert ‘const char*’ to ‘PetscReal*’ for argument ‘2’ to ‘PetscErrorCode PetscOptionsGetReal(const char*, PetscReal*, PetscTruth*)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetScalar(const char*, PetscScalar*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:18: error: declaration of C function ‘PetscErrorCode PetscOptionsGetScalar(const char*, PetscScalar*, PetscTruth*)’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:17: error: previous declaration ‘PetscErrorCode PetscOptionsGetScalar(const char*, const char*, PetscScalar*, PetscTruth*)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetScalar(const char*, PetscScalar*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:18: error: cannot convert ‘const char*’ to ‘PetscScalar*’ for argument ‘2’ to ‘PetscErrorCode PetscOptionsGetScalar(const char*, PetscScalar*, PetscTruth*)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetIntArray(const char*, PetscInt*, PetscInt*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:20: error: declaration of C function ‘PetscErrorCode PetscOptionsGetIntArray(const char*, PetscInt*, PetscInt*, PetscTruth*)’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:19: error: previous declaration ‘PetscErrorCode PetscOptionsGetIntArray(const char*, const char*, PetscInt*, PetscInt*, PetscTruth*)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetIntArray(const char*, PetscInt*, PetscInt*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:20: error: cannot convert ‘const char*’ to ‘PetscInt*’ for argument ‘2’ to ‘PetscErrorCode PetscOptionsGetIntArray(const char*, PetscInt*, PetscInt*, PetscTruth*)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetRealArray(const char*, PetscReal*, PetscInt*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:22: error: declaration of C function ‘PetscErrorCode PetscOptionsGetRealArray(const char*, PetscReal*, PetscInt*, PetscTruth*)’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:21: error: previous declaration ‘PetscErrorCode PetscOptionsGetRealArray(const char*, const char*, PetscReal*, PetscInt*, PetscTruth*)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetRealArray(const char*, PetscReal*, PetscInt*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:22: error: cannot convert ‘const char*’ to ‘PetscReal*’ for argument ‘2’ to ‘PetscErrorCode PetscOptionsGetRealArray(const char*, PetscReal*, PetscInt*, PetscTruth*)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetString(const char*, char*, size_t, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:24: error: declaration of C function ‘PetscErrorCode PetscOptionsGetString(const char*, char*, size_t, PetscTruth*)’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:23: error: previous declaration ‘PetscErrorCode PetscOptionsGetString(const char*, const char*, char*, size_t, PetscTruth*)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetString(const char*, char*, size_t, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:24: error: invalid conversion from ‘const char*’ to ‘char*’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:24: error: invalid conversion from ‘char*’ to ‘size_t’</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:24: error: invalid conversion from ‘size_t’ to ‘PetscTruth*’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:24: error: too many arguments to function ‘PetscErrorCode PetscOptionsGetString(const char*, char*, size_t, PetscTruth*)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:24: error: at this point in file</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetStringArray(const char*, char**, PetscInt*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:26: error: declaration of C function ‘PetscErrorCode PetscOptionsGetStringArray(const char*, char**, PetscInt*, PetscTruth*)’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:25: error: previous declaration ‘PetscErrorCode PetscOptionsGetStringArray(const char*, const char*, char**, PetscInt*, PetscTruth*)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h: In function ‘PetscErrorCode PetscOptionsGetStringArray(const char*, char**, PetscInt*, PetscTruth*)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petscoptions.h:26: error: cannot convert ‘const char*’ to ‘char**’ for argument ‘2’ to ‘PetscErrorCode PetscOptionsGetStringArray(const char*, char**, PetscInt*, PetscTruth*)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h: In function ‘PetscErrorCode PetscInitialize(int*, char***)’:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1160: error: declaration of C function ‘PetscErrorCode PetscInitialize(int*, char***)’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1159: error: previous declaration ‘PetscErrorCode PetscInitialize(int*, char***, const char*, const char*)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h: In function ‘PetscErrorCode PetscInitialize(int*, char***)’:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1160: error: too many arguments to function ‘PetscErrorCode PetscInitialize(int*, char***)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1160: error: at this point in file</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h: In function ‘PetscErrorCode PetscSequentialPhaseBegin(MPI_Comm)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1347: error: declaration of C function ‘PetscErrorCode PetscSequentialPhaseBegin(MPI_Comm)’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1346: error: previous declaration ‘PetscErrorCode PetscSequentialPhaseBegin(MPI_Comm, PetscMPIInt)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h: In function ‘PetscErrorCode PetscSequentialPhaseBegin(MPI_Comm)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1347: error: too many arguments to function ‘PetscErrorCode PetscSequentialPhaseBegin(MPI_Comm)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1347: error: at this point in file</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h: In function ‘PetscErrorCode PetscSequentialPhaseBegin()’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1348: error: declaration of C function ‘PetscErrorCode PetscSequentialPhaseBegin()’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1347: error: previous declaration ‘PetscErrorCode PetscSequentialPhaseBegin(MPI_Comm)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h: In function ‘PetscErrorCode PetscSequentialPhaseBegin(MPI_Comm)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1348: error: too many arguments to function ‘PetscErrorCode PetscSequentialPhaseBegin()’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1348: error: at this point in file</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h: In function ‘PetscErrorCode PetscSequentialPhaseBegin(MPI_Comm)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1350: error: declaration of C function ‘PetscErrorCode PetscSequentialPhaseEnd(MPI_Comm)’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1349: error: previous declaration ‘PetscErrorCode PetscSequentialPhaseEnd(MPI_Comm, PetscMPIInt)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h: In function ‘PetscErrorCode PetscSequentialPhaseEnd(MPI_Comm)’:</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1350: error: too many arguments to function ‘PetscErrorCode PetscSequentialPhaseEnd(MPI_Comm)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1350: error: at this point in file</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h: In function ‘PetscErrorCode PetscSequentialPhaseEnd()’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1351: error: declaration of C function ‘PetscErrorCode PetscSequentialPhaseEnd()’ conflicts with</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1350: error: previous declaration ‘PetscErrorCode PetscSequentialPhaseEnd(MPI_Comm)’ here</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h: In function ‘PetscErrorCode PetscSequentialPhaseEnd(MPI_Comm)’:</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1351: error: too many arguments to function ‘PetscErrorCode PetscSequentialPhaseEnd()’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1351: error: at this point in file</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Laplace.cc: In function ‘int main(int, char**)’:</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">/Users/charles/pkg/petsc-2.3.3-p15/include/petsc.h:1160: error: too many arguments to function ‘PetscErrorCode PetscInitialize(int*, char***)’</span><br style="font-family: courier new,monospace;">

<span style="font-family: courier new,monospace;">Laplace.cc:206: error: at this point in file</span><br></div><br><br>This last error doesn&#39;t even make sense, as it conforms to the usage specified here (<a href="http://www.mcs.anl.gov/petsc/petsc-2/snapshots/petsc-dev/docs/manualpages/Sys/PetscInitialize.html">http://www.mcs.anl.gov/petsc/petsc-2/snapshots/petsc-dev/docs/manualpages/Sys/PetscInitialize.html</a>).<br>