more comments about new build system
Satish Balay
balay at mcs.anl.gov
Wed Jun 13 09:12:18 CDT 2007
On Wed, 13 Jun 2007, Stephan Kramer wrote:
> Hi Barry, Lisandro,
>
> I'm afraid you're working with too many constraints here. If the new
> PETSC_ARCH-less installation (a move I strongly encourage BTW, I myself
> am packaging local Debian packages for internal use in our computational
> group) is to be of any use to package maintainers it has to adhere to
> the File Hierarchy Standard (FHS), http://www.pathname.com/fhs/.
>
> This would mean using (roughly what Lisandro already suggested)
>
> prefix/bin
> prefix/lib
> prefix/include
>
> and possibly prefix/lib/petsc/ and prefix/share/petsc/. prefix/conf and
> prefix/etc are definitely out of the question, and so is /etc (this is
> for configuration files that change the run time of programs, so only a
> petscrc like file would be suitable there).
>
> The only way that I see you could combine this with a PETSC_ARCH
> approach is if you leave PETSC_ARCH at the end of lib and put the libs
> in:
>
> prefix/lib/petsc/PETSC_ARCH
Actually we are not planning of supporting PETSC_ARCH in the prefix
mode [only the non-prefix mode - where the libraries are residing
inside the PETSc source tree - where FSF etc don't matter]
> A standard distribution would probably have a standard optimised build
> and one with debugging. They probably still want the optimised libs in
> /usr/lib for the other packages to find, but they can make sym-links if
> they want to. I know this conflicts completely with the current
> PETSC_ARCH+PETSC_DIR installation, hence my comment about conflicting
> constraints: you can't combine this with a FHS compliant installation.
> I would suggest getting rid of the build-independent files altogether
> (so each build has its own set of include files and 'bmake' files). This
> solves the problem of include files having to find another directory, there
> will be only one for each build:
>
> prefix/include/petsc/PETSC_ARCH
I think to support multiple PETSc installs in /usr [via .deb or .rpm],
the packagers have to use --prefix=/usr/lib/petsc-debug
--prefix=/usr/lib/petsc-opt [or more appropriate names per the
packagins standards they use], and then create links from /usr/include
& /usr/lib to the default versions.
Satish
>
> The makefiles can go into prefix/share/petsc/PETSC_ARCH, with the include
> and lib directories explicitly filled in during configuration. Duplication of
> the make and include files can't really be an argument in terms of size, but
> maybe I'm overlooking something here. This way you have far more flexibility,
> for instance you could at the same time also offer an option for a PETSC_ARCH
> less installation that simply installs in prefix/lib and
> prefix/include.
>
> As I said I really appreciate a change in the installation, as the current
> practice is a bit of a pain. When writing a configuration script for software
> that depends on PETSc, you want it to find out the petsc dir for itself, and
> not requiring the user to set PETSC_DIR and PETSC_ARCH.
>
> Cheers
> Stephan Kramer
>
>
>
>
>
>
>
> On Tue, 2007-06-12 at 19:44 -0500, Barry Smith wrote:
> >
> > On Tue, 12 Jun 2007, Lisandro Dalcin wrote:
> >
> > > On 6/12/07, Barry Smith <bsmith at mcs.anl.gov> wrote:
> > > > I understand. But we cannot have
> > > > $PETSC_DIR/conf and $PETSC_DIR/$PETSC_ARCH/lib/petsc
> > > > both directories have similar contents but very different
> > > > types of names.
> > >
> > > Sorry, my brain is not working well today. I forgot something.
> > > Currently, in the 'build' directory, we have to use use the following:
> > >
> > > PETSC_DIR/conf --> move to --> $PETSC_DIR/lib/petsc
> > >
> > > Would this work? I am (again) missing something?
> >
> > The problem I see with this is that how they are included in
> > users makefiles changes. In one case you
> > have
> > include PETSC_DIR/conf/base
> > in the other case (installed case)
> > include PETSC_DIR/$PETSC_ARCH/lib/petsc/base
> > one of the goals of this change is to continue to
> > user identical user makefiles in either case.
> >
> > Barry
> >
> > >
> > >
> > >
> > >
> >
>
>
More information about the petsc-dev
mailing list