[petsc-dev] make test after make install is not right
Dominic Meiser
dmeiser at txcorp.com
Mon Jul 28 11:32:41 CDT 2014
On 07/28/2014 09:54 AM, Satish Balay wrote:
> On Sun, 27 Jul 2014, Barry Smith wrote:
>
>> Our
>>
>> make install
>> unset PETSC_ARCH
>> export PETSC_DIR=/installed_location
>> make test
>>
>> appears to be not working correctly
> - Hm - 'make all' prints instructions for 'make install':
>
> =========================================
> gmake[1]: Leaving directory `/home/balay/petsc'
> Now to install the libraries do:
> make PETSC_DIR=/home/balay/petsc PETSC_ARCH=arch-mpich install
> =========================================
>
> - And 'make install' prints instructions on 'make test'
>
> $ make PETSC_DIR=/home/balay/petsc PETSC_ARCH=arch-mpich install
> *** Using PETSC_DIR=/home/balay/petsc PETSC_ARCH=arch-mpich ***
> *** Installing PETSc at prefix location: /home/balay/tmp/petsc-install ***
> ====================================
> Install complete. It is useable with PETSC_DIR=/home/balay/tmp/petsc-install [and no more PETSC_ARCH].
> Now to check if the libraries are working do (in current directory):
> make PETSC_DIR=/home/balay/tmp/petsc-install test
Should the above line then be changed to the following:
make PETSC_DIR=/home/balay/tmp/petsc-install PETSC_ARCH= test
Or are you saying that this is not always the right line?
Dominic
> ====================================
>
> - With the above instructions - make test works - but with a minor error.
>
> $ make PETSC_DIR=/home/balay/tmp/petsc-install test
> Running test examples to verify correct installation
> Using PETSC_DIR=/home/balay/tmp/petsc-install and PETSC_ARCH=arch-mpich
> C/C++ example src/snes/examples/tutorials/ex19 run successfully with 1 MPI process
> C/C++ example src/snes/examples/tutorials/ex19 run successfully with 2 MPI processes
> egrep: /home/balay/tmp/petsc-install/arch-mpich/include/petscconf.h: No such file or directory
> Fortran example src/snes/examples/tutorials/ex5f run successfully with 1 MPI process
> Completed test examples
> =========================================
> Now to evaluate the computer systems you plan use - do:
> make PETSC_DIR=/home/balay/tmp/petsc-install PETSC_ARCH=arch-mpich streams NPMAX=<number of MPI processes you intend to use>
>
>
> - This can be fixed with using PETSC_ARCH='' - Yeah - using both build
> makefiles and install makefiles has too many corner cases - but I'm not sure
> if there is a better way..
>
> $ make PETSC_DIR=/home/balay/tmp/petsc-install PETSC_ARCH='' test
> Running test examples to verify correct installation
> Using PETSC_DIR=/home/balay/tmp/petsc-install and PETSC_ARCH=
> C/C++ example src/snes/examples/tutorials/ex19 run successfully with 1 MPI process
> C/C++ example src/snes/examples/tutorials/ex19 run successfully with 2 MPI processes
> Fortran example src/snes/examples/tutorials/ex5f run successfully with 1 MPI process
> Completed test examples
> =========================================
> Now to evaluate the computer systems you plan use - do:
> make PETSC_DIR=/home/balay/tmp/petsc-install PETSC_ARCH= streams NPMAX=<number of MPI processes you intend to use>
>
>
> Note: the primary fix is to specifying 'PETSC_DIR' & PETSC_ARCH from
> command line to 'make' to override the defaults in conf/petscvariables
>
> Satish
>
>> ~/Src/petsc maint $ export PETSC_DIR=/Users/barrysmith/petsc-prefix
>> ~/Src/petsc maint $ make test_build
>> Running test examples to verify correct installation
>> Using PETSC_DIR=/Users/barrysmith/Src/petsc and PETSC_ARCH=arch-prefix
>>
>> <<<<<<<<<< ^^^^ Note here it lists the configured PETSC_DIR and PETSC_ARCH
>>
>> C/C++ example src/snes/examples/tutorials/ex19 run successfully with 1 MPI process
>> C/C++ example src/snes/examples/tutorials/ex19 run successfully with 2 MPI processes
>> Fortran example src/snes/examples/tutorials/ex5f run successfully with 1 MPI process
>> Completed test examples
>> ~/Src/petsc maint $ echo $PETSC_DIR
>> /Users/barrysmith/petsc-prefix
>> ~/Src/petsc maint $ echo $PETSC_ARCH
>>
>> ~/Src/petsc maint $ ls conf/
>> adic.init adicmf.init gmakegen.py rules test.log variables
>> adicmastercontrol adicmfb.init petscvariables test testmaingen.pyc
>> ~/Src/petsc maint $ more conf/petscvariables
>> PETSC_ARCH=arch-prefix
>> PETSC_DIR=/Users/barrysmith/Src/petsc
>> include /Users/barrysmith/Src/petsc/arch-prefix/conf/petscvariables
>>
>> <<<<<<<<<<<<< At the top of makefile is
>>
>> # next line defines PETSC_DIR and PETSC_ARCH if they are not set
>> include ././${PETSC_ARCH}/conf/petscvariables
>> include ${PETSC_DIR}/conf/variables
>> include ${PETSC_DIR}/conf/rules
>> include ${PETSC_DIR}/conf/test
>>
>> <<<<<<<<<<<<<<<< This means the PETSC_DIR is ALWAYS set to the configure one, not the installed one
>>
>> ~/Src/petsc maint $ rm conf/petscvariables
>> ~/Src/petsc maint $ make test_build
>> makefile:15: conf/petscvariables: No such file or directory
>> make: *** No rule to make target `conf/petscvariables'. Stop.
>>
>>
>> <<<<<<<<<<<<<<<<< How to fix this? should make install remove the stuff in conf/petscvariables?
>>
>> ~/Src/petsc maint $ touch conf/petscvariables
>> ~/Src/petsc maint $ make test_build
>> Running test examples to verify correct installation
>> Using PETSC_DIR=/Users/barrysmith/petsc-prefix and PETSC_ARCH=
>> C/C++ example src/snes/examples/tutorials/ex19 run successfully with 1 MPI process
>> C/C++ example src/snes/examples/tutorials/ex19 run successfully with 2 MPI processes
>> Fortran example src/snes/examples/tutorials/ex5f run successfully with 1 MPI process
>> Completed test examples
>>
>> <<<<<<<<<<<<<<<< That at least uses the right libraries/includes to run the tests
>>
>>
>>
>>
>>
>>
>>
>>
>
--
Dominic Meiser
Tech-X Corporation
5621 Arapahoe Avenue
Boulder, CO 80303
USA
Telephone: 303-996-2036
Fax: 303-448-7756
www.txcorp.com
More information about the petsc-dev
mailing list