[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