Message ID | b1b574df250b1e34cd750b809a8409b9b182f51e.1605525509.git.baruch@tkos.co.il |
---|---|
State | Accepted |
Headers | show |
Series | package/openntpd: needs host-bison | expand |
>>>>> "Baruch" == Baruch Siach <baruch@tkos.co.il> writes: > Build fails when no yacc alternative is installed. > Fixes: > http://autobuild.buildroot.net/results/1ba8e339cbb5646663d0bf4e158d89e54433b242/ > http://autobuild.buildroot.net/results/a00a53d6635c64e72c50d4841658155de5380110/ > Signed-off-by: Baruch Siach <baruch@tkos.co.il> > --- > package/openntpd/openntpd.mk | 1 + > 1 file changed, 1 insertion(+) > diff --git a/package/openntpd/openntpd.mk b/package/openntpd/openntpd.mk > index f2eaee7efd46..9076f3ddda4e 100644 > --- a/package/openntpd/openntpd.mk > +++ b/package/openntpd/openntpd.mk > @@ -8,6 +8,7 @@ OPENNTPD_VERSION = 6.2p3 > OPENNTPD_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenNTPD > OPENNTPD_LICENSE = MIT-like, BSD-2-Clause, BSD-3-Clause > OPENNTPD_LICENSE_FILES = COPYING > +OPENNTPD_DEPENDENCIES = host-bison Can we not use $(BR2_BISON_HOST_DEPENDENCY) instead?
Hi Peter, +Yann. On Mon, Nov 16 2020, Peter Korsgaard wrote: >>>>>> "Baruch" == Baruch Siach <baruch@tkos.co.il> writes: > > > Build fails when no yacc alternative is installed. > > Fixes: > > http://autobuild.buildroot.net/results/1ba8e339cbb5646663d0bf4e158d89e54433b242/ > > http://autobuild.buildroot.net/results/a00a53d6635c64e72c50d4841658155de5380110/ > > > Signed-off-by: Baruch Siach <baruch@tkos.co.il> > > --- > > package/openntpd/openntpd.mk | 1 + > > 1 file changed, 1 insertion(+) > > > diff --git a/package/openntpd/openntpd.mk b/package/openntpd/openntpd.mk > > index f2eaee7efd46..9076f3ddda4e 100644 > > --- a/package/openntpd/openntpd.mk > > +++ b/package/openntpd/openntpd.mk > > @@ -8,6 +8,7 @@ OPENNTPD_VERSION = 6.2p3 > > OPENNTPD_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenNTPD > > OPENNTPD_LICENSE = MIT-like, BSD-2-Clause, BSD-3-Clause > > OPENNTPD_LICENSE_FILES = COPYING > > +OPENNTPD_DEPENDENCIES = host-bison > > Can we not use $(BR2_BISON_HOST_DEPENDENCY) instead? We surly can. But for some reason no other package under package/ uses BR2_BISON_HOST_DEPENDENCY. Plain host-bison is used there instead. Only Barebox, U-Boot and the kernel use it. Why is that? Commit b01100cc901a83 ("linux: kconfig may need host-{flex, bison} to build the configurators") mentions kconfig. Is that related? I guess that BR2_BISON_HOST_DEPENDENCY is more susceptible to incompatibility due to different host installed bison versions (and same for flex). baruch
>>>>> "Baruch" == Baruch Siach <baruch@tkos.co.il> writes: Hi, >> > +OPENNTPD_DEPENDENCIES = host-bison >> >> Can we not use $(BR2_BISON_HOST_DEPENDENCY) instead? > We surly can. But for some reason no other package under package/ uses > BR2_BISON_HOST_DEPENDENCY. Plain host-bison is used there instead. Only > Barebox, U-Boot and the kernel use it. Why is that? Your tree is not uptodate, we also have it in linux-backports ;) But yes, it is a bit odd that we are not using it more often. Probably it is mostly just because it is fairly new (~2 years) and not really documented anywhere. Yann, you added it, anything to add? > Commit b01100cc901a83 ("linux: kconfig may need host-{flex, bison} to > build the configurators") mentions kconfig. Is that related? > I guess that BR2_BISON_HOST_DEPENDENCY is more susceptible to > incompatibility due to different host installed bison versions (and same > for flex). Correct, similar to the other components where we can use what is available on the host if new enough. For bison/flex, I would imagine that the version incompatibilities are fairly small (even though we do have some patches for building with bison 3.7.1).
Baruch, Peter, All, On 2020-11-16 19:09 +0200, Baruch Siach spake thusly: > On Mon, Nov 16 2020, Peter Korsgaard wrote: > >>>>>> "Baruch" == Baruch Siach <baruch@tkos.co.il> writes: > > > > > Build fails when no yacc alternative is installed. > > > Fixes: > > > http://autobuild.buildroot.net/results/1ba8e339cbb5646663d0bf4e158d89e54433b242/ > > > http://autobuild.buildroot.net/results/a00a53d6635c64e72c50d4841658155de5380110/ > > > > > Signed-off-by: Baruch Siach <baruch@tkos.co.il> > > > --- > > > package/openntpd/openntpd.mk | 1 + > > > 1 file changed, 1 insertion(+) > > > > > diff --git a/package/openntpd/openntpd.mk b/package/openntpd/openntpd.mk > > > index f2eaee7efd46..9076f3ddda4e 100644 > > > --- a/package/openntpd/openntpd.mk > > > +++ b/package/openntpd/openntpd.mk > > > @@ -8,6 +8,7 @@ OPENNTPD_VERSION = 6.2p3 > > > OPENNTPD_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenNTPD > > > OPENNTPD_LICENSE = MIT-like, BSD-2-Clause, BSD-3-Clause > > > OPENNTPD_LICENSE_FILES = COPYING > > > +OPENNTPD_DEPENDENCIES = host-bison > > > > Can we not use $(BR2_BISON_HOST_DEPENDENCY) instead? > > We surly can. But for some reason no other package under package/ uses > BR2_BISON_HOST_DEPENDENCY. Plain host-bison is used there instead. Only > Barebox, U-Boot and the kernel use it. Why is that? > > Commit b01100cc901a83 ("linux: kconfig may need host-{flex, bison} to > build the configurators") mentions kconfig. Is that related? > > I guess that BR2_BISON_HOST_DEPENDENCY is more susceptible to > incompatibility due to different host installed bison versions (and same > for flex). The rule is that we can depend on $(BR2_BISON_HOST_DEPENDENCY) to build host tools, but we really want to depend on host-bison when we generate code that is built for the target. Indeed, different versions of bison will generate different C code, and thus the resulting binary will change. This is not very reproducible. (Yes, I've already experienced that, and finding the root cause of the delta cost me about two weeks full-time...) AFAICS, the openntd code will be running on the target, so we do want the host-bison dependency. Acked-by: Yann E. MORIN <yann.morin.1998@free.fr> Regards, Yann E. MORIN.
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: Hi, >> > Can we not use $(BR2_BISON_HOST_DEPENDENCY) instead? >> >> We surly can. But for some reason no other package under package/ uses >> BR2_BISON_HOST_DEPENDENCY. Plain host-bison is used there instead. Only >> Barebox, U-Boot and the kernel use it. Why is that? >> >> Commit b01100cc901a83 ("linux: kconfig may need host-{flex, bison} to >> build the configurators") mentions kconfig. Is that related? >> >> I guess that BR2_BISON_HOST_DEPENDENCY is more susceptible to >> incompatibility due to different host installed bison versions (and same >> for flex). > The rule is that we can depend on $(BR2_BISON_HOST_DEPENDENCY) to build host > tools, but we really want to depend on host-bison when we generate code > that is built for the target. > Indeed, different versions of bison will generate different C code, and > thus the resulting binary will change. This is not very reproducible. > (Yes, I've already experienced that, and finding the root cause of the > delta cost me about two weeks full-time...) > AFAICS, the openntd code will be running on the target, so we do want > the host-bison dependency. > Acked-by: Yann E. MORIN <yann.morin.1998@free.fr> Ok, we should probably add a sensible note about that in check-host-bison-flex.mk to make that clear. Committed, thanks.
>>>>> "Baruch" == Baruch Siach <baruch@tkos.co.il> writes: > Build fails when no yacc alternative is installed. > Fixes: > http://autobuild.buildroot.net/results/1ba8e339cbb5646663d0bf4e158d89e54433b242/ > http://autobuild.buildroot.net/results/a00a53d6635c64e72c50d4841658155de5380110/ > Signed-off-by: Baruch Siach <baruch@tkos.co.il> Committed to 2020.02.x and 2020.08.x, thanks.
diff --git a/package/openntpd/openntpd.mk b/package/openntpd/openntpd.mk index f2eaee7efd46..9076f3ddda4e 100644 --- a/package/openntpd/openntpd.mk +++ b/package/openntpd/openntpd.mk @@ -8,6 +8,7 @@ OPENNTPD_VERSION = 6.2p3 OPENNTPD_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenNTPD OPENNTPD_LICENSE = MIT-like, BSD-2-Clause, BSD-3-Clause OPENNTPD_LICENSE_FILES = COPYING +OPENNTPD_DEPENDENCIES = host-bison # Need to autoreconf for our libtool patch to apply properly OPENNTPD_AUTORECONF = YES
Build fails when no yacc alternative is installed. Fixes: http://autobuild.buildroot.net/results/1ba8e339cbb5646663d0bf4e158d89e54433b242/ http://autobuild.buildroot.net/results/a00a53d6635c64e72c50d4841658155de5380110/ Signed-off-by: Baruch Siach <baruch@tkos.co.il> --- package/openntpd/openntpd.mk | 1 + 1 file changed, 1 insertion(+)