On Mon, Mar 15, 2010 at 8:28 AM, Cody Permann <[email protected]> wrote:
> Do any of the libMesh developers actually "install" Petsc-3.0? That is, does
> anybody in this group run "make install" after successfully building Petsc?
> The reason I ask is that I typically do install Petsc on our shared cluster
> systems to keep the source and the compiled libraries separate for a number
> of reasons. As far as I can tell, libMesh configure does not get the paths
> correct for installed versions of Petsc-3.0. libMesh configure works fine
> though when you point PETSC_DIR at Petsc build tree. It appears that
> Petsc-3.0 has moved away from the configuration $PETSC_DIR/lib/$PETSC_ARCH in
> favor of a completely flat install directory like this:
> $PETSC_DIR/lib/<petsclibs>
>
> I tried unsetting the $PETSC_ARCH variable which seems to have been relegated
> to configuration and building only in the newer version. I don't believe you
> need PETSC_ARCH set for running anymore (I could be wrong here). This
> observation is based upon the message received when running make install.
> Note the instructions to unset PETSC_ARCH before running the tests...
Hi Cody,
I don't normally do 'make install' for my personal builds of PETSc,
but we do use it at TACC. We still make use of the $PETSC_ARCH by
passing it as part of the --prefix during configure.py:
python config/configure.py --prefix=%{INSTALL_DIR}/${PETSC_ARCH}
The files are thus installed in a 'flat' way in $PETSC_DIR/$PETSC_ARCH
for each of the different ARCH's we support. Which at this time is
quite a few:
spur(122)$ ls $PETSC_DIR
barcelona barcelona-complexdebug
barcelona-complexdynamic barcelona-cxxdebug barcelona-debugdynamic
barcelona-uni
barcelona-complex barcelona-complexdebugdynamic barcelona-cxx
barcelona-debug barcelona-dynamic barcelona-unidebug
The external packages and source are also there:
conf include bin externalpackages src
For my particular arch:
spur(124)$ echo $PETSC_ARCH
barcelona
You can see the "flat" installation.
spur(123)$ ls $PETSC_DIR/$PETSC_ARCH
bin conf include lib
Since $PETSC_ARCH technically makes up a part of my $LD_LIBRARY_PATH,
it does seem that $PETSC_ARCH needs to be set, at least at the time
LD_LIBRARY_PATH is set...Anyway, libmesh supports this kind of build
structure, so it seems that if you just install everything in
/usr/lib/petsc-xyz and unset $PETSC_ARCH, that should work for libmesh
as well? I think there is currently a check during configure to
ensure that PETSC_ARCH is set. That was intended as a helpful
reminder in the past, it could probably be removed now, or reduced to
a warning.
--
John
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel