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

Reply via email to