Discussion:
make compatibility question
Thomas Klausner
2014-01-18 08:43:53 UTC
Permalink
Hi!

Does anyone remember why make on NetBSD-5 is unhappy this way:

make: "../../lang/python/../../lang/python/versioned_dependencies.mk" line 26: Malformed conditional (dns == dateutil)
make: "../../lang/python/../../lang/python/versioned_dependencies.mk" line 26: Need an operator
make: "../../lang/python/../../lang/python/versioned_dependencies.mk" line 26: Malformed conditional (dns == dns)
make: "../../lang/python/../../lang/python/versioned_dependencies.mk" line 26: Need an operator
make: Fatal errors encountered -- cannot continue
WARNING (printdepends): the package in chat/py-xmpppy had problem with
make print-summary-data
database information for this package
will be dropped.


The context is:

23 .for pkg in ${PYTHON_VERSIONED_DEPENDENCIES}
24 _PKG_MATCHED= no
25 .for name py2dir py3dir in ${_SUPPORTED_PACKAGES}
26 .if ${pkg} == ${name}


(Works on NetBSD-6.)

Thanks,
Thomas
Alan Barrett
2014-01-18 10:25:31 UTC
Permalink
Post by Thomas Klausner
make: "../../lang/python/../../lang/python/versioned_dependencies.mk" line 26: Malformed conditional (dns == dateutil)
I think it might have to do with bugs in the way .for loop variables are
expanded. Try assigning each .for loop variable to another variable
using :=, like this:

.for _name _py2dir _py3dir in ${_SUPPORTED_PACKAGES}
name := ${_name}
py2dir := ${_py2dir}
py3dir := ${_py3dir}

Or try using quotes in the .if tests, like this:

.if "${pkg}" == "${name}"

--apb (Alan Barrett)
Thomas Klausner
2014-01-19 11:19:22 UTC
Permalink
Post by Alan Barrett
.if "${pkg}" == "${name}"
Thanks, this worked!
Thomas

Loading...