Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Aug 2011 08:21:05 -0700
From:      Steve Kargl <sgk@troutmask.apl.washington.edu>
To:        Matthew Seaman <m.seaman@infracaninophile.co.uk>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: PREFIX is not honored for dependencies
Message-ID:  <20110806152105.GB85982@troutmask.apl.washington.edu>
In-Reply-To: <4E3D06D0.7020204@infracaninophile.co.uk>
References:  <20110805220853.GA61697@troutmask.apl.washington.edu> <4E3D06D0.7020204@infracaninophile.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Aug 06, 2011 at 10:18:08AM +0100, Matthew Seaman wrote:
> On 05/08/2011 23:08, Steve Kargl wrote:
> > make clean
> > make PREFIX=/opt/
> > 
> > This eventually dies with 
> > 
> > ===>  Installing for cppunit-1.12.1
> > ===>   Generating temporary packing list
> > ===>  Checking if devel/cppunit already installed
> > ===>   cppunit-1.12.1 is already installed
> >       You may wish to ``make deinstall'' and install this port again
> >       by ``make reinstall'' to upgrade it properly.
> >       If you really wish to overwrite the old port of devel/cppunit
> >       without deleting it first, set the variable "FORCE_PKG_REGISTER"
> >       in your environment or the "make install" command line.
> > 
> > Of course, cppunit-1.12.1 is installed!  The initial build
> > in libreoffice installed it before qt4-moc crooked.   
> 
> You need to understand the effect of two different variables here:
> 
> PREFIX    --- where to install /this/ port
> LOCALBASE --- where other ports have been installed
> 
> PREFIX *only* affects where the current port will be installed.  It
> doesn't affect where this port looks for any dependencies.  That's what
> LOCALBASE is for.
> 

man ports
man make.conf
man src.conf

Hmmm, no description of LOCALBASE.

So how is one to understand the difference?  From 'man ports'

     PREFIX        Where to install things in general (usually /usr/local).

I suppose that that 'in general' is not too 'in general'.

I've pointed out elsewhere that 

cd /usr/ports/dev/cppunit
make PREFIX=/opt/ install
cd /usr/ports/editors/libreoffice
make PREFIX=/opt/

does try to re-install cppunit; whereas if cppunit is not previously
installed

cd /usr/ports/editors/libreoffice
make PREFIX=/opt/

installs and registers cppunit.  If this dies and one restarts the
make, then the make process tries to re-install cppunit.  That's
just poor design.

-- 
Steve



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110806152105.GB85982>