Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 May 2002 21:11:47 -0700
From:      Kris Kennaway <kris@obsecurity.org>
To:        Roger Hardiman <roger@telepresence.dmem.strath.ac.uk>
Cc:        ports@freebsd.org
Subject:   Re: possible bento inconsistency
Message-ID:  <20020523211147.E7527@xor.obsecurity.org>
In-Reply-To: <008601c2025e$63eea200$0100a8c0@Win2K>; from roger@telepresence.dmem.strath.ac.uk on Thu, May 23, 2002 at 02:33:13PM %2B0100
References:  <008601c2025e$63eea200$0100a8c0@Win2K>

next in thread | previous in thread | raw e-mail | index | archive | help

--GpGaEY17fSl8rd50
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, May 23, 2002 at 02:33:13PM +0100, Roger Hardiman wrote:
> Hi there
>=20
> I am looking at bento errors for openam and openmcu from earlier today.
> openmcu failed with a BISON dependency failure which is not correct.
> There is a bug in the bento cluster.
>=20
> openam and openmcu both need the source of the openh323 port to compile
> They have
>   BUILD_DEPENDS=3D  ${NONEXISTENT}:${PORTSDIR}/net/openh323:build
>=20
> The openh323 makefile needs bison and openh323 has
>   USE_BISON=3Dyes
>=20
>=20
> When openam compiled, it built openh323 which installed bison.
> When openmcu compiled, it built openh323 but FAILED to install bison and =
so openh323 fell over
> and then openmcu fell over.

The problem is that <bsd.port.mk> does not obtain full dependency
information when you use a "FOO_DEPENDS=3D...:target" construction; in
this case the BUILD_DEPENDS in openmcu should include the
BUILD_DEPENDS from openh323 (by virtue of the :build target) and
thereby include a dependency on bison.

I had added the following note to my copy of <bsd.port.mk>:

Index: bsd.port.mk
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/ncvs/ports/Mk/bsd.port.mk,v
retrieving revision 1.411
diff -u -r1.411 bsd.port.mk
--- bsd.port.mk 27 Apr 2002 11:22:59 -0000      1.411
+++ bsd.port.mk 18 May 2002 02:03:20 -0000
@@ -3191,6 +3191,12 @@
 # distribution-name|port-path|installation-prefix|comment| \
 #  description-file|maintainer|categories|build deps|run deps|www site

+# XXX Bug: if a port has BUILD_DEPENDS=3D...:build
+# then we should recurse into that port and add its BUILD_DEPENDS to ours
+# as well, otherwise we aren't recording all the dependencies needed to
+# get this port built.  Similar thing probably goes for other :targets
+# which have a <target>_DEPENDS
+
 .if !target(describe)
 describe:
        @${ECHO_CMD} "`perl -e ' \

In the meantime, the workaround is to add an explicit USE_BISON to
openmcu.

Bento is deliberately set up so that it will fail if all required
build dependencies are not already installed when the port starts
building.  This is done to ensure that the full dependency information
is being recorded in the port makefiles, and it's why you get this:

> =3D=3D=3D>   openh323-1.8.8 depends on executable: bison - not found
> =3D=3D=3D>    Verifying install for bison in /usr/ports/devel/bison
> =3D=3D=3D>   Returning to build of openh323-1.8.8

i.e. it doesn't actually compile and install bison at compile-time,
because it should already have been pkg_added before the build
started.

Kris

--GpGaEY17fSl8rd50
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)

iD8DBQE87b2DWry0BWjoQKURAtwLAJ0ZApqIQvZLNGJd+OrHvgwr4Te0CgCgsdqA
A57+cE9f2csxlr3/cwiYZEI=
=SSaY
-----END PGP SIGNATURE-----

--GpGaEY17fSl8rd50--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020523211147.E7527>