#1863 closed task (fixed)
Bash depends on Bison
Reported by: | 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 , 18 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:2 by , 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 , 18 years ago
Why would flex need to be in the host reqs. section? Only bison is needed.
comment:4 by , 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 , 18 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 , 18 years ago
$ bison --version bison (GNU bison) 1.875a
No issues found yet using that version.
comment:7 by , 18 years ago
Owner: | changed from | to
---|---|
Status: | assigned → new |
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 , 18 years ago
Status: | new → assigned |
---|
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.
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?