Discussion:
[petsc-users] configuring petsc without downloading packages
David Liu
2015-10-22 18:42:56 UTC
Permalink
Hi, I have a simple question that I could not find a comprehensive answer
anywhere on the website or manual, though I found examples of what I'm
trying to do. Say I want to build a version of PETSc with some external
package, such as MUMPS or SuperLU_DIST. I can do this by using flags such
as "--download-superlu_dist" when I am configuring. However, what if I
already have SuperLU_DIST, say either by installing it by myself from the
SuperLU_DIST source, or from a previous configuration of PETSc, i.e. with
downloaded files sitting in ${PETSC_DIR}/${PETSC_ARCH}/externalpackages?
How can I save the trouble of re-downloading a package that I already have?
For MPI, I can specify using "--with-mpi-dir", or I can simply have mpirun
and mpicc, etc in my path. But is there a standard way to do this for
external packages that you usually download? I vaguely recall reading
somewhere that you can simply do

--download-superlu_dist=${PATH_TO_SUPERLU_DIST}

but that notation obviously seems a little weird.
Barry Smith
2015-10-22 18:49:23 UTC
Permalink
Hi, I have a simple question that I could not find a comprehensive answer anywhere on the website or manual, though I found examples of what I'm trying to do. Say I want to build a version of PETSc with some external package, such as MUMPS or SuperLU_DIST. I can do this by using flags such as "--download-superlu_dist" when I am configuring. However, what if I already have SuperLU_DIST, say either by installing it by myself from the SuperLU_DIST source, or from a previous configuration of PETSc, i.e. with downloaded files sitting in ${PETSC_DIR}/${PETSC_ARCH}/externalpackages? How can I save the trouble of re-downloading a package that I already have? For MPI, I can specify using "--with-mpi-dir", or I can simply have mpirun and mpicc, etc in my path. But is there a standard way to do this for external packages that you usually download?
It is the same. --with-mumps-dir etc.

Note that each release of PETSc only works with one release of external packages so if you don't use the --download option you need to verify that you are using the correct release of the package. You can look in config/BuildSystem/config/packages/xxx.py to find what version of the external package xxx we support.

Barry
I vaguely recall reading somewhere that you can simply do
--download-superlu_dist=${PATH_TO_SUPERLU_DIST}
but that notation obviously seems a little weird.
Matthew Knepley
2015-10-22 18:50:01 UTC
Permalink
Post by David Liu
Hi, I have a simple question that I could not find a comprehensive answer
anywhere on the website or manual, though I found examples of what I'm
trying to do. Say I want to build a version of PETSc with some external
package, such as MUMPS or SuperLU_DIST. I can do this by using flags such
as "--download-superlu_dist" when I am configuring. However, what if I
already have SuperLU_DIST, say either by installing it by myself from the
SuperLU_DIST source, or from a previous configuration of PETSc, i.e. with
downloaded files sitting in ${PETSC_DIR}/${PETSC_ARCH}/externalpackages?
How can I save the trouble of re-downloading a package that I already have?
For MPI, I can specify using "--with-mpi-dir", or I can simply have mpirun
and mpicc, etc in my path. But is there a standard way to do this for
external packages that you usually download? I vaguely recall reading
somewhere that you can simply do
--download-superlu_dist=${PATH_TO_SUPERLU_DIST}
but that notation obviously seems a little weird.
1) If you already have it in externalpackages/ it will not download it again

2) If you download the tarball yourself, then
--download-<package>=<path/to/tarball> will use it

3) If you installed the package yourself,
--with-<package>-dir=</path/to/package> will use that

Matt
--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
Loading...