Opened 18 years ago

Closed 17 years ago

Last modified 16 years ago

#1863 closed task (fixed)

Bash depends on Bison

Reported by: jciccone@… Owned by: Matthew Burgess
Priority: high Milestone:
Component: Book Version: SVN
Severity: major Keywords: bash bison yacc
Cc:

Description

Now that the bash fixes patch is applied to bash in chapter 5. Either Bison needs to be added to the "Host System Requirements" page or the patch needs to be droped from chapter 5.

Been seeing this fairly often now:

yacc -d ./parse.y
make: yacc: Command not found
make: *** [y.tab.c] Error 127

Change History (10)

comment:1 by dnicholson@…, 18 years ago

Owner: changed from lfs-book@… to dnicholson@…
Status: newassigned

This came up recently (probably has a few times).In my mind, this is a large bug. I'd prefer to keep the bash patch in Ch. 5 since the shell is such an integral part of the build (not just for scripting). Host requirements seems the sanest place to put this.

Now I found the message. Bash says that bison-1.26 minimum is needed. That note could be old or bogus, though.

http://linuxfromscratch.org/pipermail/lfs-support/2006-August/031192.html

I'll see about getting this listed in the Host Requirements. Flex should probably be there too. Comments, anyone?

comment:2 by Matthew Burgess, 18 years ago

Patching the generated file (y.tab.c) would avoid the need to have bison installed before bash, though whether we want to diverge from upstream like this I don't know.

comment:3 by Chris Staub, 18 years ago

Why would flex need to be in the host reqs. section? Only bison is needed.

comment:4 by dnicholson@…, 18 years ago

To guard against situations like this. You need to have a development system set up to start building LFS. Flex is one such development tool. It's not needed right now, but it could be needed at any time just by adding a harmless patch to another package. But, I could make the same argument for autoconf and automake. I'll leave it at bison.

comment:5 by Matthew Burgess, 17 years ago

Does anyone know what the earliest version of bison is that will work? My Kubuntu system comes with Bison-2.1 (Sep 2005) and that appears to work fine. Dan, do you mind me taking this ticket from you, as I'm doing working on bash stuff at the moment.

comment:6 by manuel@…, 17 years ago

$ bison --version bison (GNU bison) 1.875a

No issues found yet using that version.

comment:7 by dnicholson@…, 17 years ago

Owner: changed from dnicholson@… to Matthew Burgess
Status: assignednew

Matthew,

Take the ticket and any other LFS ones you want to work on that I assigned to myself. Any time I have coming up will be on BLFS until a release can be put together.

As for minimum version, I've never tested it. The comment in the support/aclocal.m4 says bison-1.26. Could be a very outdated comment, though.

http://linuxfromscratch.org/pipermail/lfs-support/2006-August/031192.html

The other thing to think about is that the depencency on bison is only introduced if one of the *.y files is changed. I haven't checked whether that's the case with the bash-3.2 patches.

But, you never know when these things will creep up. Same thing with patched *.l files and flex. Which is why I mentioned adding bison _and_ flex to the host requirements. It's up to you which direction to go.

comment:8 by Matthew Burgess, 17 years ago

Status: newassigned

Thanks Dan. The new bash patch does change parse.y, unfortunately. I'll go along with the comment in support/aclocal.m4. We can always fix it (and upstream) if we get reports of breakages though I doubt anyone's using a 7-year old version of bison alongside a linux-2.6 kernel which would be 3 years old at most.

comment:9 by Matthew Burgess, 17 years ago

Resolution: fixed
Status: assignedclosed

Fixed in r7858.

comment:10 by Jeremy Huntwork, 17 years ago

Milestone: 6.3

Milestone 6.3 deleted

Note: See TracTickets for help on using tickets.