← Back to team overview

dolfin team mailing list archive

Re: [PETSC #13298] Re: installation of DOLFIN 0.5.7 on Debian

 

  Well knock me over with a sledge hammer; the one constant in my world
is gone! From 

http://www.gnu.org/software/autoconf/manual/autoconf-2.57/html_mono/autoconf.html#SEC34

By default, configure sets the prefix for files it installs to
`/usr/local'. The user of configure can select a different prefix
using the `--prefix' and `--exec-prefix' options. There are two ways
to change the default: when creating configure, and when running it.

> Now, if the location of the binaries is hardwired into them at compile time
> using --prefix as the location, which seems to be what is going on, then this
> would explain my problems.

  We are hardwiring into the libraries the location of the dynamic libraries
that need to be loaded at runtime. The location is determined by --prefix
as I understood --prefix to mean.

  How should we get the information to compile into the libraries? If we cannot 
use --prefix do we have to make up our own option name --with-install-directory=...?

  Barry

And I use to think that Windows sucked.


On Tue, 5 Jul 2005, Faheem Mitha wrote:

> 
> 
> On Tue, 5 Jul 2005, Barry Smith wrote:
> 
> > 
> > >   If you use dynamic libraries with PETSc, then the load paths are
> > > compiled in (you can redirect them with command-line arguments, but this
> > > is the default). Thus, moving them from the directory into which the
> > > package installs them breaks the load. There a couple ways to fix this. I
> > > will think about it (since I have to leave for dinner now).
> 
> >  Matt,
> > 
> >   This is very likely not the problem. When a --prefix is used the libraries
> > are
> > built with the correct paths for the dynamic libraries.
> 
> No, actually I think that *is* the problem.
> 
> Here is what I have in my debian/rules file (this is really just a makefile
> which uses some macros etc.)
> 
> ./config/configure.py -PETSC_DIR=`pwd` --prefix=$(CURDIR)/debian/tmp/usr/lib
> 
> The way a Debian build works is that you unzip the sources into some
> directory, which is then CURDIR.
> 
> On my machine it is /usr/local/src/petsc/petsc/petsc-2.2.1.
> 
> Then the sources are built, where the build dir is /debian/tmp. This is
> default behaviour, I think.
> 
> Then the build system for the package grabs the resulting files and wraps it
> into a package, in this case a .deb package.
> 
> This is pretty standard behaviour for building packages, at least on the
> operating systems I'm familiar with, basically the BSDs and Linux.
> 
> Now, if the location of the binaries is hardwired into them at compile time
> using --prefix as the location, which seems to be what is going on, then this
> would explain my problems.
> 
> I'm not sure how this was done, though. Rpath is similar, but that is
> typically for hardwiring the location of libraries into an executable.
> 
> Since changing the build system outlined above is not an option, the only
> possibility is to somehow switch off or modify this behaviour.
> 
> Can you suggest a simple way to do so?
> 
> Thanks.                                                          Faheem.
> 
> 



Follow ups

References