debugging php4 ports make process
Jez Hancock
jez.hancock at munk.nu
Sat Jun 14 04:03:16 PDT 2003
Hi,
Ok, the short question:
How can one debug the ports tree make process (or any make process for
that matter)?
Specifically what I want to be able to do is 'dump' to
STDOUT the values contained in macros within a Makefile - something like
this in a Makefile:
# New ports collection makefile for: php4-cli
# Date created: Tue Feb 18 11:17:13 CET 2003
# Whom: Alex Dupre <sysadmin at alexdupre.com>
<snip>
WITHOUT_APACHE= yes
# How do I dump the value contained in WITHOUT_APACHE here?
echo WITHOUT_APACHE
(which of course doesn't work!)
Obviously in this example the value contained in WITHOUT_APACHE is
obvious, but in other Makefile's where there are more than 2 or 3 nested
.if .else .endif clauses, it can be hard determining which macros
contain what values. What is the best way of debugging make targets?
Ok, now the long question!:
I'm having a problem with the new php4 make process in as much as I want
to install mod_php4 using one set of options / --with-* args and
php4-cli with another set of options.
I've created two distinct OPTION_FILE's as recommended in
/usr/ports/lang/php4/Makefile:
# The last way reads an "extension" file, located in ~/php_options (the
# location is overridable by the OPTION_FILE variable). You may find an
# example in scripts/php_options (interactive mode only).
and named them 'php_options.cli' and 'php_options.mod_php4', each file
containing the options for cli and mod_php4 respectively.
I then proceed to set an env variable using:
setenv OPTION_FILE php_options.mod_php4
and then:
(after removing old mod_php4 port)
cd /usr/ports/www/mod_php4
make clean install
(check all the options are correct, they are)
All well and good, mod_php4 is installed as expected.
However I then go on to:
setenv OPTION_FILE php_options.cli
and then:
cd /usr/ports/lang/php4-cli
make clean
make
(check all the options are correct, they are)
and I receive this error on the install target:
make install
===> Installing for php4-cli-4.3.2
===> php4-cli-4.3.2 conflicts with installed package(s):
mod_php4-4.3.2,1
They install files into the same place.
Please remove them first with pkg_delete(1).
*** Error code 1
Stop in /usr/ports/lang/php4-cli.
*** Error code 1
Stop in /usr/ports/lang/php4-cli.
Can anyone confirm whether they have installed both the cli and mod_php4 versions of php4 from the FreeBSD ports, and if so how they achieved it?
Many thanks in advance,
Jez
More information about the freebsd-questions
mailing list