ports DESTDIR not finding dependent ports

Erik Cederstrand erik at cederstrand.dk
Fri Oct 26 09:01:01 PDT 2007


I'm trying to install some ports into a chroot environment. For this, I 
use the DESTDIR support in ports. Some ports with dependencies are 
failing to install. Below are some details i have gathered. I really 
need this to work, so I'm willing to help debug this over the next days, 
if someone wants to look into this. Pointers to where I can begin 
debugging myself would also be appreciated.

I have chosen postgresql82-client as an example:

# chroot /path/to/chroot
# pkg_info
gmake-3.81_2        GNU version of 'make' utility
portupgrade-2.3.1,2 FreeBSD ports/packages administration and management 
pcbsd# ls /usr/local/bin/gmake
# exit
# cd /usr/ports/databases/postgresql82-client
# make install clean DESTDIR=/path/to/chroot
===>   postgresql-client-8.2.5_1 depends on executable: gmake - not found
===>  Installing for gmake-3.81_2
===>   Generating temporary packing list
===>  Checking if devel/gmake already installed
===>   gmake-3.81_2 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/gmake
       without deleting it first, set the variable "FORCE_PKG_REGISTER"
       in your environment or the "make install" command line.

Some additional data:
1) This works on the host (7.0-BETA1 #6, i386). That is, gmake is found 
and left alone, and postgresql installs.
2) The chroot is 8.0-CURRENT
3) I've had a look at bsd.destdir.mk but it's mostly black magic. From 
what I can read, after mount_nullfs-mounting /usr/ports to the chroot, 
it basically issues this command:

# chroot /path/to/chroot sh -c "cd 
/usr/ports/databases/postgresql82-client; make install clean; "

If I issue this command from the command-line, gmake is found and the 
port is installed:
===>   postgresql-client-8.2.5_1 depends on executable: gmake - found

So something else must be going wrong.


Erik Cederstrand

More information about the freebsd-ports mailing list