petscvariables: hardwired build dir instead of install dir

Lisandro Dalcin dalcinl at gmail.com
Sat Mar 22 13:18:22 CDT 2008


OK, it seems my stderr were being sent I do not know were... I get the
following (BTW, I was not aware of the 'sed' trick, but I was not
seeing the error)


[root at trantor petsc-dev]# make install
Installing PETSc at /usr/local/petsc/dev/linux-gnu
sed: can't read s?${PETSC_DIR}?TMP_INSTALL_DIR?g: No such file or directory
sed: can't read s?TMP_INSTALL_DIR?/usr/local/petsc/dev/linux-gnu?g: No
such file or directory
sed: can't read s?/${PETSC_ARCH}??g: No such file or directory
making shared libraries in /usr/local/petsc/dev/linux-gnu//lib
building libpetsc.so
building libpetscvec.so
building libpetscmat.so
building libpetscdm.so
building libpetscksp.so
building libpetscsnes.so
building libpetscts.so
building libpetsccontrib.so
sh/bash: PETSC_DIR=/usr/local/petsc/dev/linux-gnu; export PETSC_DIR
sh/bash: unset PETSC_ARCH
csh/tcsh: setenv PETSC_DIR  /usr/local/petsc/dev/linux-gnu
csh/tcsh: unsetenv PETSC_ARCH
Then do make test to verify correct install


And then the 'petscvariables' still have the build dir in many places.
So the 'sed' command is not working for me. I do not know way, I've
never had the time to learn regexps :-(.

BTW, I'm on a Fedora 6 box.


On 3/22/08, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
>    Ok, I think I understand your concern,
>
>
>  On Mar 22, 2008, at 9:00 AM, Lisandro Dalcin wrote:
>
>  > On 3/22/08, Barry Smith <bsmith at mcs.anl.gov> wrote:
>  >>      Do you mean that it lists, for example,
>  >> SUPERLU_DIST_LIB = -Wl,-rpath,/Users/bsmith/Src/petsc-dev/arch-icc-
>  >> superlu_dist/lib -L/Users/bsmith/Src/petsc-dev/arch-icc-superlu_dist/
>  >> lib -lsuperlu_dist_2.2
>  >> instead of
>  >> SUPERLU_DIST_LIB = -Wl,-rpath,$PETSC_DIR/arch-icc-superlu_dist/lib -L
>  >> $PETSC_DIR/arch-icc-superlu_dist/lib -lsuperlu_dist_2.2
>  >>
>  >
>  > exactly that, as an example, I've just built petsc-dev, passing as
>  > prefix the following '--prefix=/usr/local/petsc/2.3.3/linux-gnu' (yes,
>  > I still want to have multiconfig installations of petsc in a central
>  > location, so I add the PETSC_ARCH to the prefix)
>  >
>  > But the 'petscvariables' file stills says, for example
>  >
>  > ML_INCLUDE = -I. -I/usr/local/mpich2/1.0.6/include
>  > -I/usr/local/mpich2/1.0.6/include
>  > -I/repos/hg/petsc/petsc-dev/linux-gnu/include
>
>
>     This is because the place we want ML to install itself has be
>  passed in as the true path, it cannot be sent as a symbolic PETSC_DIR
>  since configure of the subpackage doesn't know PETSC_DIR
>
>
>  >
>  >
>  > The last include dir is the directory were I've built PETSc. I would
>  > love to see that include as -I${PETSC_DIR}/${PETSC_ARCH}/include. And
>  > now, if external packages got installed in $PETSC_DIR/$PETSC_ARCH, we
>  > perhaps could just put nothing, as that location is always taken into
>  > accout for PETSc itself.
>  >
>  > The real problem: if I remove the build dir, the 'petscvariables'
>  > point to locations that no longer exists, This is dangerous. I already
>  > had trouble in the past with the old 'bmake' based system. Is there a
>  > chance to 'fix' this, or I'm missing something?
>
>
>    make intall: see the rule in makefile is suppose to replace all
>  uses of the
>  petsc-dir directory with the final prefix installed location: the lines
>
>            sed -i "" 's?$${PETSC_DIR}?TMP_INSTALL_DIR?g' $
>  {INSTALL_DIR}/conf/* ;\
>            sed -i "" s?TMP_INSTALL_DIR?${INSTALL_DIR}?g ${INSTALL_DIR}/
>  conf/* ;\
>
>  would replace
>
>
>  /repos/hg/petsc/petsc-dev/linux-gnu/include
>
> /usr/local/petsc/2.3.3/linux-gnu/include
>
>  Now it could be that the sed is not working when you run install? Can
>  you do a
>  config/configure.py with a --prefix then the make then the make
>  install and see what
>  goes wrong?
>
>
>    Barry
>
>
>  with
>
>
>
>  >
>  >
>  >
>  >
>  > --
>  > Lisandro Dalcín
>  > ---------------
>  > Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
>  > Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
>  > Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
>  > PTLC - Güemes 3450, (3000) Santa Fe, Argentina
>  > Tel/Fax: +54-(0)342-451.1594
>  >
>
>


-- 
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594




More information about the petsc-dev mailing list