debugging php4 ports make process

Joshua Oreman oremanj at webserver.get-linux.org
Sat Jun 14 10:32:37 PDT 2003


On Sat, Jun 14, 2003 at 12:03:14PM +0100 or thereabouts, Jez Hancock seemed to write:
> 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?

make -V WITHOUT_APACHE
should dump the $(WITHOUT_APACHE) variable after the Makefile has been processed.

> 
> 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?

Alas, what I had to do was do it by hand. You can apply the patches
manually, but you'll have to create the package yourself if you want
that.

-- Josh

> 
> Many thanks in advance,
> Jez 
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"


More information about the freebsd-questions mailing list