← Back to team overview

dorsal team mailing list archive

Re: PETSc found, but not found

 

On 01. sep. 2010 12:43, Anders Logg wrote:
> On Wed, Sep 01, 2010 at 12:33:40PM +0200, Johannes Ring wrote:
>   
>> On Wed, Sep 1, 2010 at 12:12 PM, Anders Logg <logg@xxxxxxxxx> wrote:
>>     
>>> On Wed, Sep 01, 2010 at 12:09:20PM +0200, Johannes Ring wrote:
>>>       
>>>> On Wed, Sep 1, 2010 at 12:03 PM, Anders Logg <logg@xxxxxxxxx> wrote:
>>>>         
>>>>> On Wed, Sep 01, 2010 at 11:36:11AM +0200, Johannes Ring wrote:
>>>>>           
>>>>>> On Wed, Sep 1, 2010 at 11:13 AM, Harish Narayanan
>>>>>> <harish.mlists@xxxxxxxxx> wrote:
>>>>>>             
>>>>>>> On 9/1/10 2:35 PM, Harish Narayanan wrote:
>>>>>>>               
>>>>>>>> On 9/1/10 2:09 PM, Johannes Ring wrote:
>>>>>>>>                 
>>>>>>>>> On Wed, Sep 1, 2010 at 9:17 AM, Johannes Ring <johannr@xxxxxxxxx> wrote:
>>>>>>>>>                   
>>>>>>>>>> On Wed, Sep 1, 2010 at 8:39 AM, Harish Narayanan
>>>>>>>>>> <harish.mlists@xxxxxxxxx> wrote:
>>>>>>>>>>                     
>>>>>>>>>>> On 9/1/10 12:02 PM, Harish Narayanan wrote:
>>>>>>>>>>>                       
>>>>>>>>>>>> On 9/1/10 2:44 AM, Marie Rognes wrote:
>>>>>>>>>>>>                         
>>>>>>>>>>>>> On 31. aug. 2010 22:56, Anders Logg wrote:
>>>>>>>>>>>>>                           
>>>>>>>>>>>>>> On Tue, Aug 31, 2010 at 04:28:32PM +0200, Marie Rognes wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>                             
>>>>>>>>>>>>>>> On 31. aug. 2010 16:22, Johannes Ring wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>                               
>>>>>>>>>>>>>>>> On Tue, Aug 31, 2010 at 4:13 PM, Marie Rognes <meg@xxxxxxxxx> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>>>>>>>>> I having some issues with PETSc (surprise) as of today.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Dorsal tells me that (full log attached):
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> [\snip]
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> -- The following optional packages were found:
>>>>>>>>>>>>>>>>> -- (OK) MPI
>>>>>>>>>>>>>>>>> -- (OK) PETSC
>>>>>>>>>>>>>>>>> -- (OK) SLEPC
>>>>>>>>>>>>>>>>> -- (OK) UMFPACK
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> [\snap]
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> But:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>                                   
>>>>>>>>>>>>>>>>>>>> from dolfin import *
>>>>>>>>>>>>>>>>>>>> has_la_backend("PETSc")
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>                                         
>>>>>>>>>>>>>>>>> False
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>                                   
>>>>>>>>>>>>>>>>>>>> A = PETScMatrix()
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>                                         
>>>>>>>>>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>>>>>>>>>   File "<stdin>", line 1, in <module>
>>>>>>>>>>>>>>>>> NameError: name 'PETScMatrix' is not defined
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>                                   
>>>>>>>>>>>>>>>>>>>>                                         
>>>>>>>>>>>>>>>>> Help?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>                                   
>>>>>>>>>>>>>>>> There is no -DHAS_PETSC in your log. Try to clean up/remove the
>>>>>>>>>>>>>>>> dorsal_build_dir inside the DOLFIN source directory.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>>>>>>> Removed. Check.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>                               
>>>>>>>>>>>>>>>> Then rerun Dorsal
>>>>>>>>>>>>>>>> and see if the PETSc test passes.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>                                 
>>>>>>>>>>>>>>> -- The following optional packages were found:
>>>>>>>>>>>>>>> -- (OK) MPI
>>>>>>>>>>>>>>> -- (OK) PETSC
>>>>>>>>>>>>>>> -- (OK) SLEPC
>>>>>>>>>>>>>>> -- (OK) UMFPACK
>>>>>>>>>>>>>>> -- (OK) PARMETIS
>>>>>>>>>>>>>>> -- (OK) GMP
>>>>>>>>>>>>>>> -- (OK) CGAL
>>>>>>>>>>>>>>> -- (OK) ZLIB
>>>>>>>>>>>>>>> -- (OK) PYTHON
>>>>>>>>>>>>>>> -- The following optional packages could not be found:
>>>>>>>>>>>>>>> -- (**) TRILINOS
>>>>>>>>>>>>>>> -- (**) MTL4
>>>>>>>>>>>>>>> -- (**) CHOLMOD
>>>>>>>>>>>>>>> -- (**) SCOTCH
>>>>>>>>>>>>>>> -- Configuring done
>>>>>>>>>>>>>>> -- Generating done
>>>>>>>>>>>>>>> -- Build files have been written to: /home/meg/local/dorsal_downloads/dolfin
>>>>>>>>>>>>>>> make: *** No rule to make target `install'.  Stop.
>>>>>>>>>>>>>>> Failure with exit status: 2
>>>>>>>>>>>>>>> Exit message: There was a problem building dolfin.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>                               
>>>>>>>>>>>>>> I had the same problem (I think). It turned out to be a problem with my
>>>>>>>>>>>>>> PETSC_ARCH variable which was set to linux-gnu-c-opt instead of
>>>>>>>>>>>>>> linux-gnu-cxx-opt.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>                             
>>>>>>>>>>>>> Doesn't solve the problem for me :(
>>>>>>>>>>>>>
>>>>>>>>>>>>> - My PETSC_ARCH is set to linux-gnu-cxx-opt (cf gentoo.platform)
>>>>>>>>>>>>> - cmake reports: -- PETSC_ARCH is linux-gnu-cxx-opt
>>>>>>>>>>>>> - Still get same problem.
>>>>>>>>>>>>>
>>>>>>>>>>>>>                           
>>>>>>>>>>>>>> I think this changed in Dorsal at some point recently.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>                             
>>>>>>>>>>>>> Everything updated as of 20 seconds ago ...
>>>>>>>>>>>>>                           
>>>>>>>>>>>> I too am now seeing strange things such as this:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> .
>>>>>>>>>>>> .
>>>>>>>>>>>> .
>>>>>>>>>>>>
>>>>>>>>>>>> -- PETSC_DIR is /Users/harish/Work/FEniCS/dev/src/petsc-3.1-p4
>>>>>>>>>>>> -- PETSC_ARCH is darwin10.0.0-cxx-opt
>>>>>>>>>>>> -- Found petscconf.h
>>>>>>>>>>>> -- PETSc test failed
>>>>>>>>>>>> -- PETSc could not be found. Be sure to set PETSC_DIR and PETSC_ARCH.
>>>>>>>>>>>> (missing:  PETSC_TEST_RUNS)
>>>>>>>>>>>>
>>>>>>>>>>>> .
>>>>>>>>>>>> .
>>>>>>>>>>>> .
>>>>>>>>>>>>
>>>>>>>>>>>> -- (OK) MPI
>>>>>>>>>>>> -- (OK) MTL4
>>>>>>>>>>>> -- (OK) UMFPACK
>>>>>>>>>>>> -- (OK) CHOLMOD
>>>>>>>>>>>> -- (OK) SCOTCH
>>>>>>>>>>>> -- (OK) PARMETIS
>>>>>>>>>>>> -- (OK) GMP
>>>>>>>>>>>> -- (OK) CGAL
>>>>>>>>>>>> -- (OK) ZLIB
>>>>>>>>>>>> -- (OK) PYTHON
>>>>>>>>>>>> -- The following optional packages could not be found:
>>>>>>>>>>>> -- (**) PETSC
>>>>>>>>>>>> -- (**) SLEPC
>>>>>>>>>>>> -- (**) TRILINOS
>>>>>>>>>>>>                         
>>>>>>>>>>> Following which (and independently), CMake fails catastrophically:
>>>>>>>>>>>
>>>>>>>>>>> Building CXX object dolfin/CMakeFiles/dolfin.dir/ale/HarmonicSmoothing.cpp.o
>>>>>>>>>>> [  1%] cd /foo/dolfin/dorsal_build_dir/dolfin && /opt/local/bin/c++
>>>>>>>>>>> -Ddolfin_EXPORTS -DPACKAGE_VERSION=\"0.9.8\" -DBOOST_UBLAS_NDEBUG
>>>>>>>>>>> -DHAS_MTL4 -DMTL_HAS_BLAS -DHAS_UMFPACK -DHAS_CHOLMOD -DHAS_SCOTCH
>>>>>>>>>>> -DHAS_PARMETIS -DHAS_CGAL -DHAS_GMP -DHAS_ZLIB -DHAS_CPPUNIT -DHAS_MPI
>>>>>>>>>>> -DMPICH_IGNORE_CXX_SEEK -frounding-math;-D_REENTRANT -O2 -g -fPIC
>>>>>>>>>>> -I/foo/dolfin -I/opt/local/include/libxml2
>>>>>>>>>>> -I/Users/harish/Work/FEniCS/dev/include -I/opt/local/include
>>>>>>>>>>> -I/Users/harish/Work/FEniCS/dev/src/mtl4 -I/opt/local/include/ufsparse
>>>>>>>>>>> -I/opt/local/include/cppunit   -o
>>>>>>>>>>> CMakeFiles/dolfin.dir/ale/HarmonicSmoothing.cpp.o -c
>>>>>>>>>>> /foo/dolfin/dolfin/ale/HarmonicSmoothing.cpp
>>>>>>>>>>> i686-apple-darwin10-g++-4.2.1: no input files
>>>>>>>>>>> i686-apple-darwin10-g++-4.2.1: no input files
>>>>>>>>>>> Building CXX object
>>>>>>>>>>> dolfin/CMakeFiles/dolfin.dir/ale/TransfiniteInterpolation.cpp.o
>>>>>>>>>>> cd /foo/dolfin/dorsal_build_dir/dolfin && /opt/local/bin/c++
>>>>>>>>>>> -Ddolfin_EXPORTS -DPACKAGE_VERSION=\"0.9.8\" -DBOOST_UBLAS_NDEBUG
>>>>>>>>>>> -DHAS_MTL4 -DMTL_HAS_BLAS -DHAS_UMFPACK -DHAS_CHOLMOD -DHAS_SCOTCH
>>>>>>>>>>> -DHAS_PARMETIS -DHAS_CGAL -DHAS_GMP -DHAS_ZLIB -DHAS_CPPUNIT -DHAS_MPI
>>>>>>>>>>> -DMPICH_IGNORE_CXX_SEEK -frounding-math;-D_REENTRANT -O2 -g -fPIC
>>>>>>>>>>> -I/foo/dolfin -I/opt/local/include/libxml2
>>>>>>>>>>> -I/Users/harish/Work/FEniCS/dev/include -I/opt/local/include
>>>>>>>>>>> -I/Users/harish/Work/FEniCS/dev/src/mtl4 -I/opt/local/include/ufsparse
>>>>>>>>>>> -I/opt/local/include/cppunit   -o
>>>>>>>>>>> CMakeFiles/dolfin.dir/ale/TransfiniteInterpolation.cpp.o -c
>>>>>>>>>>> /foo/dolfin/dolfin/ale/TransfiniteInterpolation.cpp
>>>>>>>>>>> Building CXX object dolfin/CMakeFiles/dolfin.dir/common/real.cpp.o
>>>>>>>>>>> /bin/sh: -D_REENTRANT: command not found
>>>>>>>>>>> /bin/sh: -D_REENTRANT: command not found
>>>>>>>>>>>                       
>>>>>>>>>> I made a fix for this yesterday. Maybe you just need to clean up the
>>>>>>>>>> CMake cache (remove the dorsal_build_dir folder)?
>>>>>>>>>>                     
>>>>>>>>> My fix was reverted but it should be fixed again now.
>>>>>>>>>                   
>>>>>>>> This problem is fixed, leaving only the petsc/slepc error.
>>>>>>>>                 
>>>>>>> I spoke too soon. I now receive the following during the linking stage
>>>>>>> (too).
>>>>>>>
>>>>>>> Undefined symbols:
>>>>>>>  "_METIS_mCPartGraphRecursive2", referenced from:
>>>>>>>      _ParMETIS_V3_PartKway in libparmetis.a(kmetis.o)
>>>>>>>      _PartitionSmallGraph__ in libparmetis.a(weird.o)
>>>>>>>      _Mc_InitPartition_RB__ in libparmetis.a(initpart.o)
>>>>>>>      _Mc_InitPartition_RB__ in libparmetis.a(initpart.o)
>>>>>>>      _Balance_Partition__ in libparmetis.a(initbalance.o)
>>>>>>>      _Balance_Partition__ in libparmetis.a(initbalance.o)
>>>>>>> ld: symbol(s) not found
>>>>>>> collect2: ld returned 1 exit status
>>>>>>> make[2]: *** [dolfin/libdolfin.0.9.8.dylib] Error 1
>>>>>>> make[1]: *** [dolfin/CMakeFiles/dolfin.dir/all] Error 2
>>>>>>> make: *** [all] Error 2
>>>>>>>               
>>>>>> I also got this on the Mac buildbot. The problem is that there is a
>>>>>> file /opt/local/lib/libmetis.dylib that is used instead of the one
>>>>>> that comes with ParMETIS (that Dorsal builds). I worked around this by
>>>>>> configuring DOLFIN with
>>>>>> -DMETIS_LIBRARY=/Users/fenicsslave2/Work/FEniCS/lib/libmetis.a (the
>>>>>> one that Dorsal installed with ParMETIS).
>>>>>>
>>>>>> This problem only shows up when PETSc is not found because
>>>>>> PETSC_LIBRARIES contains the correct link flags (-L/path/to/libmetis.a
>>>>>> -lmetis).
>>>>>>
>>>>>> Johannes
>>>>>>             
>>>>> Everything seems to work fine except BOOST_DIR is missing when I run
>>>>> the demos.
>>>>>           
>>>> /sw (Fink) was the default BOOST_DIR. I have changed this to
>>>> /opt/local (MacPorts) now.
>>>>         
>>> It works fine when I set BOOST_DIR to /opt/local
>>>
>>> Should we write BOOST_DIR to dolfin.conf?
>>>       
>> Yes, that might be a good idea, however, it might not always be defined.
>>     
> Your latest fix seems to have done the trick. It's working fine now.
>
> So, clean install from Dorsal on Mac OS X without any extra tweaks
> seems to work perfectly now, at least for me.
>
> Anyone else still having trouble?
>
>   


After removing everything that involves dolfin, branching a fresh copy
and running dorsal -- I am happy again (including PETSc/SLEPc) :)

--
Marie






References