Barry, things are still broken. I think that at some point we have to review the 'install:' target more carefully.
First, the 'sed' command i being called in a wrong way. Second, ALL files under $PETSC_ARCH/conf are being copied, I'm not sure if all them are needed (logs, RDict.db, configure.py, etc) when you 'install' PETSc in a central, system location. Finally, 'sed' trickery is done under all files under 'conf/' and that can be dangerous. I attach a hg diff fixing some of that issues. But I still believe that this have to be more carefully reviewed. Unfortunately, I will not be able to do that myself for, let say, three month from now. By using the patch in the attached file, I was able to install PETSc and next build petsc4py. However, this does not necesarily means that things are all OK. I already do some trickery in the build system of petsc4py in order to 'fix' the problems with the stuff in PETSc makefiles since version 2.3.2 until latest petsc-dev. Regards, On 3/22/08, Barry Smith <bsmith at mcs.anl.gov> wrote: > Lisandro > > The rule was a total mess; I think I have fixed it now, please try > again > and let me know how it goes. > > Thanks for reporting the problem, > > > Barry > > > On Mar 22, 2008, at 1:18 PM, Lisandro Dalcin wrote: > > 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 > > > > -- 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: make_install.diff Type: text/x-patch Size: 1504 bytes Desc: not available URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20080324/312cd99c/attachment.bin>