On 8/5/06, Thinus Pollard <[EMAIL PROTECTED]> wrote:

I don't know where this is supposed to go. Host system requirements does not
mention bison or yacc. My bash ./configure command failed looking for yacc in
chapter 5. Resolution is a breeze, just install bison

Thanks for the report. Bison should probably be in the host
requirements. Looking at support/aclocal.m4 in the bash tarball shows
this:

 dnl intl/plural.c is generated from intl/plural.y. It requires bison,
 dnl because plural.y uses bison specific features. It requires at least
 dnl bison-1.26 because earlier versions generate a plural.c that doesn't
 dnl compile.
 dnl bison is only needed for the maintainer (who touches plural.y). But in
 dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
 dnl the rule in general Makefile. Now, some people carelessly touch the
 dnl files or have a broken "make" program, hence the plural.c rule will
 dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
 dnl present or too old.

It then goes on to check just that. l So, it looks like bison-1.26 is
definitely a host requirement.

Wait. I just figured out why no one noticed this before. Bison is only
needed because the bash upstream fixes tarball modifies parse.y, hence
bison is needed. And this patch was added to Ch. 5 bash at the last
minute. The placement of bison in Ch. 6 is specifically to address
this situation. Cc'ing lfs-dev.

So, bison isn't strictly a host requirement because typically the
bison conversion is done by the upstream maintainer, usually via `make
dist'. In this case it is a requirement, and it's probably not a bad
idea anyways to guard against these situations in the future.

--
Dan
--
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page

Reply via email to