Matthew Knepley wrote:
On Wed, Aug 20, 2008 at 12:35 PM, Anders Logg <logg@xxxxxxxxx> wrote:
Marie says:
Hurray! My DOLFIN is back among the living. (Now, I just need to get it
to understand that SLEPc is hanging around as well.)
Just adding -lmpiuni to petsc.pc did not help. Adding the output of
echo -e 'include ${PETSC_DIR}/bmake/common/base\nlink:\n\t-@echo
${PETSC_LIB}' | make -f - link
did.
I keep struggling with this.
Adding the above to my petsc.pc enables compilation of DOLFIN and the
demos run beautifully. However, it seems that it "suddenly" drops SLEPc...
meg in dolfin >> ./scons.local enableMpi=no withPetscDir=$PETSC_DIR
withSlepcDir=$SLEPC_DIR withTrilinosDir=$TRILINOS_DIR
gives:
scons: Reading SConscript files ...
Using options from scons/options.cache
...
Checking for trilinos... yes
...
Checking for petsc... yes
...
Checking for slepc... yes
Resolving compiler... done
Some tests failed using c++
Switching to use g++ instead.
Found optional package: petsc
Found optional package: umfpack
Found optional package: gts
Found optional package: trilinos
Unable to find optional package: slepc
Unable to find optional package: scotch
Unable to find optional package: cholmod
Unable to find optional package: mtl4
Enabling compilation of PyDOLFIN
I'm afraid I don't really know where to start looking... :(
However, there should probably be a prettier way of doing this?
Yes, of course. The prettier way is to actually use the information we give
1) at the end of configure
2) in the configure.log
3) in RDict.db (Python pickle)
4) in the makefile (make getincludedirs, make getlinklibs)
5) in the conf files (petscvariables, petsconf.h)
instead of ignoring it and hardcoding something into scons.
Matt
We don't. We get the include and link flags from the PETSc Makefiles.
I've attached the pkgconfig generator for PETSc. Take a look at it.
Okay, I looked and this piece of code should produce the correct MPIUNI
flags (I checked that it does on my machine). It is a little unsafe since it
ignores all the other potential dependecies by using PETSC_LIB_BASIC.
These do not just include external packages, but sometimes libraries to
make the compilers work. I am guessing you used that in order to install
two different copies of UMFPACK.
Well, either I have messed something up somewhere, or there must be
something that goes wrong with the generation of the pkg-config file for
petsc? (Considering that everything does not work automagically ;) )