Ok noted. By the way, I do have another related problem. Can you help me with it?
When I run make (I run it with the -i option), I see the following output for the first invoked command: bison -y -d ./parse.y ./parse.y: warning: 1 shift/reduce conflict [-Wconflicts-sr] bison: /usr/local/Cellar/bison/3.3.2/share/bison/m4sugar/m4sugar.m4: cannot open: No such file or directory make: [y.tab.c] Error 1 (ignored) May I know what does the last line mean? I understand from https://www.gnu.org/software/make/manual/html_node/Error-Messages.html that it means that invoking y.tab.c returned an error code of 1. The thing is, there's no command that involves the file y.tab.c? I don't really understand how y.tab.c came into the picture. Regards, Chai On Wed, Jun 24, 2020 at 8:04 PM Greg Wooledge <wool...@eeg.ccf.org> wrote: > On Wed, Jun 24, 2020 at 01:09:48PM +0800, Humanities Clinic wrote: > > version.c:27:10: fatal error: 'version.h' file not found > > > jobs.c:72:10: fatal error: 'builtins/builtext.h' file not found > > > I double-checked the original folder in > > http://ftp.gnu.org/gnu/bash/bash-3.2.57.tar.gz. It's true these files > are > > missing. > > > > May I know why is this so, and how this can be rectified? > > These files are generated during the build process. > > Did you run "./configure" (or some equivalent) before running "make"? > Were there any errors during the configure stage? Were there any > earlier errors during the make stage? > > The version.h file in a bash-3.2 build tree should look something like > this: > > > /* Version control for the shell. This file gets changed when you say > `make version.h' to the Makefile. It is created by mkversion. */ > > /* The distribution version number of this shell. */ > #define DISTVERSION "3.2" > > /* The last built version of this shell. */ > #define BUILDVERSION 1 > > /* The release status of this shell. */ > #define RELSTATUS "release" > > /* A version string for use by sccs and the what command. */ > #define SCCSVERSION "@(#)Bash version 3.2.0(1) release GNU" > > > > During the make stage of the build, you should have seen something > like this: > > > /bin/sh ./support/mkversion.sh -b -S . -s release -d 3.2 -o newversion.h \ > && mv newversion.h version.h > > > If that step didn't occur, or if there was an error during it, then > that would explain why your version.h file wasn't generated. >