(IMPORTANT/URGENT) Regarding Missing Files in bash source code?
Dear Person-in-Charge I am facing problems trying to compile Bash 3.2.57 for Mac OS. I am choosing to compile this because that's the default version of my Bash executable that was shipped with my OS. All the problems have got to do with missing includes. Please see: gcc -DPROGRAM=bash -DCONF_HOSTTYPE=i386 -DCONF_OSTYPE=darwin17.7.0 -DCONF_MACHTYPE=i386-apple-darwin17.7.0 -DCONF_VENDOR=apple -DLOCALEDIR=/usr/local/share/locale -DPACKAGE=bash -DSHELL -DHAVE_CONFIG_H -DMACOSX -I. -I. -I./include -I./lib -I./lib/intl -I/Volumes/Untitled-2-bigger/zzDEVELOP/bash/bash-3.2.57-BUILD/lib/intl -g -O2 -c version.c version.c:27:10: fatal error: 'version.h' file not found #include "version.h" gcc -DPROGRAM=bash -DCONF_HOSTTYPE=i386 -DCONF_OSTYPE=darwin17.7.0 -DCONF_MACHTYPE=i386-apple-darwin17.7.0 -DCONF_VENDOR=apple -DLOCALEDIR=/usr/local/share/locale -DPACKAGE=bash -DSHELL -DHAVE_CONFIG_H -DMACOSX -I. -I. -I./include -I./lib -I./lib/intl -I/Volumes/Untitled-2-bigger/zzDEVELOP/bash/bash-3.2.57-BUILD/lib/intl -g -O2 -c jobs.c jobs.c:72:10: fatal error: 'builtins/builtext.h' file not found #include "builtins/builtext.h" 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? I see there is folder of patches. However I am new to do this and not sure how to make use of the patch. Is there a guide on how to do this, if patches is the solution?
Re: (IMPORTANT/URGENT) Regarding Missing Files in bash source code?
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 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. >
Re: (IMPORTANT/URGENT) Regarding Missing Files in bash source code?
Dear Mr/Ms Chet Ramey Thank you for your response. Just to confirm if I got your reply right, are you saying that y.tab.c is part of bison, and not the bash source code? Regards, Chai On Fri, Jul 17, 2020 at 10:22 PM Chet Ramey wrote: > On 7/17/20 10:10 AM, Humanities Clinic wrote: > > 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) > > This file is part of the bison distribution. I have no idea what it is or > why bison needs it to run, but you need to look at bison for the solution. > > -- > ``The lyf so short, the craft so long to lerne.'' - Chaucer > ``Ars longa, vita brevis'' - Hippocrates > Chet Ramey, UTech, CWRUc...@case.eduhttp://tiswww.cwru.edu/~chet/ >