[petsc-users] Reuse compiled packages

Satish Balay balay at mcs.anl.gov
Sun Apr 26 12:48:44 CDT 2020


On Sun, 26 Apr 2020, san.temporal at gmail.com wrote:

> So the point is I was relying on a flag that is possibly non-working.
> I confirm that, given the line that I had previously used
> 
>     ./configure PETSC_ARCH=arch-pkgs --prefix=$HOME/petsc-pkgs ...
> --download-fblaslapack --download-mumps --download-scalapack ...
> 
> (I didn't need to do this again), I could reuse my compiled packages with
> 
>     ./configure PETSC_ARCH=arch-pkgs --prefix=$HOME/petsc-pkgs ...
> --with-fblaslapack-dir=/home/santiago/usr/local

The option here is --with-blaslapack-dir

> --with-mumps-dir=$HOME/petsc-pkgs --with-scalapack-dir=$HOME/petsc-pkgs ...
> 
> and it worked fine. (I assume in your second ./configure command you meant
> PETSC_ARCH=arch-pkgs, as I used).

Nope - its best not to reuse build files across different builds. Hence I used a different PETSC_ARCH. [If reusing same PETSC_ARCH - its best to delete previous build files]

Its best to reuse PETSC_ARCH [i.e build files] when rebuilding with same/equivalent setup again. [then it will try to avoid rebuilding stuff that doesn't need rebuilding]

Sure reusing (as you've done) might work most of the time - but there will be corner cases where this will break.


> This used previously compiled versions of fblaslapack, mumps and scalapack:
> 
>     ...
>     BlasLapack:
>       Library:  -Wl,-rpath,/home/santiago/usr/local/lib
> -L/home/santiago/usr/local/lib -lflapack -lfblas
>       uses 4 byte integers
>     MPI:
>       Version:  3
>       Mpiexec: mpiexec
>       OMPI_VERSION: 2.1.1
>     pthread:
>     fblaslapack:
>     cmake:
>       Version:  3.10.2
>       /usr/bin/cmake
>     X:
>       Library:  -lX11
>     regex:
>     MUMPS:
>       Version:  5.2.1
>       Includes: -I/home/santiago/usr/local/include
>       Library:  -Wl,-rpath,/home/santiago/usr/local/lib
> -L/home/santiago/usr/local/lib -lcmumps -ldmumps -lsmumps -lzmumps
> -lmumps_co mmon -lpord
>     scalapack:
>       Library:  -Wl,-rpath,/home/santiago/usr/local/lib
> -L/home/santiago/usr/local/lib -lscalapack

I guess you've used /home/santiago/usr/local/lib instead in place of $HOME/petsc-pkgs in the above 2 steps [with --prefix in the first - and --with-mumps-dir in the second]

>     ...
> 
> I guess this can also be used to compile fblaslapack, mumps, scalapack (all
> the same versions as I am working with now), with whatever options I want,
> and then use these to configure PETSc.

Don't understand what you are trying to do here.

If using PETSc to build externalpackages - its best to build the compatible versions for petsc [don't know if this same as what you refer to by "same versions as I am working with now"].

And PETSc configure builds external packages via options specified to petsc configure. [ so don't know what you mean by "whatever options I want".]

Satish


More information about the petsc-users mailing list