[petsc-users] petsc 3.4:

Satish Balay balay at mcs.anl.gov
Wed May 15 08:54:38 CDT 2013


On Wed, 15 May 2013, Matteo Parsani wrote:

> Hello Satish,
> Lisandro has found that in the make file we have
> 
> include ././${PETSC_ARCH}/conf/petscvariables

we try to support too many ways of installing petsc [with prefix/
without prefix, with a defaut PETSC_ARCH, without PETSC_DIR set etc..]
And we need this line for users who forget to set PETSC_ARCH in a
non-prefix build. [to pick up a defaut PETSC_ARCH]


> However if one uses --prefix PETSC_ARCH must not be used

yes.
> 
> This is a very minor issue but I think it would be nice to have it fixed.

If one uses configure with prefix:

>>>>>
balay at petsc^/sandbox/balay/petsc-3.4.0 $ ./configure --prefix=/sandbox/balay/petsc-prefix
<<<<

you get the message:

>>>>>>>>
xxx=========================================================================xxx
 Configure stage complete. Now build PETSc libraries with (cmake build):
   make PETSC_DIR=/sandbox/balay/petsc-3.4.0 PETSC_ARCH=arch-linux2-c-debug all
 or (experimental with python):
   PETSC_DIR=/sandbox/balay/petsc-3.4.0 PETSC_ARCH=arch-linux2-c-debug ./config/builder.py
xxx=========================================================================xxx
<<<<<<<<<

Now if you run make as indicated above: you get the message:

>>>>>>>>
=========================================
Now to install the libraries do:
make PETSC_DIR=/sandbox/balay/petsc-3.4.0 PETSC_ARCH=arch-linux2-c-debug install
=========================================
<<<<<<<

And if that above 'make install' command is run, the message printed is:

====================================
Install complete. It is useable with PETSC_DIR=/sandbox/balay/petsc-prefix [and no more PETSC_ARCH].
Now to check if the libraries are working do (in current directory):
make PETSC_DIR=/sandbox/balay/petsc-prefix test
====================================


Perhaps this message is ambiguous?

Satish


> 
> Thank you in advance.
> 
> Best Regards
> 
> 
> On Wed, May 15, 2013 at 8:33 AM, Matteo Parsani <parsani.matteo at gmail.com>wrote:
> 
> > Just an update. I have install petsc 3.4 without setting PETSC_ARCH
> >  and with surprise I still get the message
> >
> >
> > egrep: /scratch/home0/pmatteo/
> > research/workspace/codes/ssdc/deps/petsc/arch-linux2-c-debug/include/
> > petscconf.h: No such file or directory
> >
> > Thus I have tried
> >
> >  export PETSC_ARCH=
> >
> > and the rerun  make PETSC_DIR=/scratch/home0/pmatteo
> > /research/workspace/codes/ssdc/deps/petsc
> >
> > but I still get the same message.
> >
> >
> > Lisandro suggested to run the test with the following
> >
> >
> > make PETSC_DIR=/scratch/home0/pmatteo/research/workspace/codes/ssdc/deps/
> > petsc PETSC_ARCH= test
> >
> > and this works without printing any message. Thus we think that maybe the
> > test_build target, for the case of testing a prefix install has to be
> > reviewed. Is that right?
> >
> > Thank you.
> >
> >
> >
> >
> >
> > On Wed, May 15, 2013 at 8:09 AM, Matteo Parsani <parsani.matteo at gmail.com>wrote:
> >
> >> Hello Satish,
> >> the problem with the PATH and LD_LIBRARY_PATH has been fixed. The
> >> administrator of our systems was working on the OS to install new libraries
> >> and my .bashrc was not loaded properly. So, now everything is fine.
> >>
> >> Although I set --prefix to install petsc in my code dependencies, I
> >> noticed that I still was using PETSC_ARC in both petsc 3.3-p7 and petsc3.4 (something like:  make
> >> PETSC_DIR=/scratch/home0/pmatteo/research/lib_src/petsc-3.3-p7 PETSC
> >> _ARCH=arch-linux2-c-debug install). That was my fault, sorry.
> >>
> >> However, with 3.3-p7 even if I use PETSC_ARCH=arch-linux2-c-debug I did
> >> not get
> >>
> >> egrep: /scratch/home0/pmatteo/
> >> research/workspace/codes/ssdc/deps/petsc/arch-linux2-c-debug/include/
> >> petscconf.h: No such file or directory
> >>
> >> Whereas with petsc 3.4 I got it because of course under petscinstallation directory I have no
> >> petsc/arch-linux2-c-debug. All the header files are in petsc/lib as it
> >> should be.
> >>
> >> Thus a couple of questions:
> >>
> >> 1- Installation of petsc 3.4 seems to be more careful and it is able to
> >> detect that I am setting  --prefix and PETSC_ARCH. It does not say that
> >> explicitly but it print the "egrep message". Would not be better to
> >> check if the user is setting --prefix and change the installation
> >> instructions printed at screen?
> >> Also in the petsc installation documentation it is stressed that PETSC_ARCH
> >> must not be used with --prefix but ss it is now, even if the user sets
> >> --prefix, the instructions say:
> >>
> >> make PETSC_DIR=/scratch/home0/pmatteo/research/lib_src/petsc-3.3-p7 PETSC
> >> _ARCH=arch-linux2-c-debug install
> >>
> >>
> >>
> >> 2- this is just a curiosity: why petsc 3.3-p7 was not giving me back the
> >> "egrep message" though I was setting PETSC_ARCH=arch-linux2-c-debug?
> >>
> >>
> >> Thank you.
> >>
> >>
> >>
> >>
> >> On Tue, May 14, 2013 at 4:25 PM, Satish Balay <balay at mcs.anl.gov> wrote:
> >>
> >>> On Tue, 14 May 2013, Matteo Parsani wrote:
> >>>
> >>> > Dear PETSc developers and users,
> >>> > I have just updated petsc from 3.3-p7 to petsc 3.4. and during the
> >>> > installation testing I get the following message:
> >>> >
> >>> > pmatteo at parsani-lan:~/research/lib_src/petsc$ make
> >>> PETSC_DIR=/scratch/home0/
> >>> > pmatteo/research/workspace/codes/ssdc/deps/petscnew test
> >>> > Running test examples to verify correct installation
> >>> > Using
> >>> PETSC_DIR=/scratch/home0/pmatteo/research/workspace/codes/ssdc/deps/
> >>> > petscnew and PETSC_ARCH=arch-linux2-c-debug
> >>> > C/C++ example src/snes/examples/tutorials/ex19 run successfully with 1
> >>> > MPIprocess
> >>> > C/C++ example src/snes/examples/tutorials/ex19 run successfully with 2
> >>> > MPIprocesses
> >>> > egrep:
> >>> /scratch/home0/pmatteo/research/workspace/codes/ssdc/deps/petscnew
> >>> > /arch-linux2-c-debug/include/petscconf.h: No such file or directory
> >>>
> >>> Perhaps you are having file system problems?
> >>>
> >>> > Fortran example src/snes/examples/tutorials/ex5f run successfully with
> >>> > 1 MPIprocess
> >>> > Completed test examples
> >>> >
> >>> > The test pass successfully but ....
> >>>
> >>> Ok - then the library is ok and useable.
> >>> >
> >>> > Attached the log file.
> >>> >
> >>> > Moreover, when I run my Fortran 90 as usual it seems the libpetsc.so
> >>> can
> >>> > not be opened (./NSE: error while loading shared libraries:
> >>> libpetsc.so:
> >>> > cannot open shared object file: No such file or directory)
> >>> >
> >>> > PATH and LD_LIBRARY_PATH are set exactly as for petsc 3.3-p7 through
> >>> my .
> >>> > bashrc file and libpetsc.so is in the right location.
> >>> >
> >>> > If I switch to 3.3-p7 (just by point to the other directory where
> >>> > petsc3.3-p7 is installed) it works fine.
> >>>
> >>> Perhaps you can use PETSc makefiles - so you don't have to rely on
> >>> LD_LIBRARY_PATH?
> >>> [or use
> >>> -Wl,-rpath,/scratch/home0/pmatteo/research/lib_src/petsc/arch-linux2-c-debug/lib]
> >>>
> >>> You can always do 'ldd NSE' to see if the required sharedlibraries are
> >>> found or not
> >>>
> >>> Satish
> >>>
> >>> >
> >>> > Any idea?
> >>> >
> >>> >
> >>> > Thanks,
> >>> >
> >>> >
> >>> >
> >>>
> >>>
> >>
> >>
> >> --
> >> Matteo
> >>
> >
> >
> >
> > --
> > Matteo
> >
> 
> 
> 
> 



More information about the petsc-users mailing list