On my system /usr/local/bin/make is a symlink to /usr/local/bin/gmake, /usr/local/bin/pmake is a symlink to /usr/bin/make and /usr/local/bin comes before /usr/bin in my PATH. Therefore ``make'' executes GNU make and ``pmake'' executes PMake. When installing a port I ``pmake all install'', however since bsd.port.mk executes ``make'' instead of ``${MAKE}'' in some places, package registration fails GNU make is invoked and it doesn't grok the Makefiles used in the ports system Fix: Fix bsd.port.mk to use ${MAKE} instead of make by applying this patch: How-To-Repeat: $ cd /usr/local/bin $ ln gmake make $ ln -s /usr/bin/make pmake $ cd /usr/ports/lang/perl $ PATH=/usr/local/bin:$PATH pmake all install [...] ===> Compressing manual pages for perl-5.00404 ===> Registering installation for perl-5.00404 Makefile:70: *** missing separator. Stop. $
* On my system /usr/local/bin/make is a symlink to /usr/local/bin/gmake, * /usr/local/bin/pmake is a symlink to /usr/bin/make and /usr/local/bin * comes before /usr/bin in my PATH. Therefore ``make'' executes GNU * make and ``pmake'' executes PMake. I certainly won't object changing bsd.port.mk (thanks for the patch), but having /usr/local/bin in front of /usr/bin is a good way to get your build killed in any case. I am surprised that the make symlink is the only one that tripped you up. :) Satoshi
State Changed From-To: open->feedback Satoshi seemed to approve of this, so let's go ahead and put it in -current and see how things fare. :)
Responsible Changed From-To: freebsd-ports->steve So I get the blame if it doesn't work.
State Changed From-To: feedback->closed Merged to RELENG_2_2 and RELENG_2_1_0 at Satoshi's request.