I have installed Cygwin 3.0.7 to my 64-bit Windows 10 system with the latest version of Flex, GCC, GNU M4, GNU Make, and GnuPG. I also have Strawberry Perl installed, and it exists after Cygwin in the path. I then build Bison using the following sequence of commands:
- tar -xzf bison-3.4.1.tar.gz
- cd bison-3.4.1
- ./configure --disable-dependency-tracking --prefix=/cygdrive/C/some/install/path
- make install
Everything in the above sequence appears to complete without issue. However, when I attempt to run Bison against a file that previously worked with Bison 3.0.4 that was bundled with Cygwin, the output file isn't generated and the %ERRORLEVEL% environment variable is set to 3328. I don't see anything in the event logs, nor can I find any information when searching for this error online. My command line is:
bison -d -v -o output.cpp input.ypp
The only output I get is:
input.ypp: warning: 4 shift/reduce conflicts [-Wconflicts-sr]
Can anyone think of a reason this wouldn't work properly, or know what error code 3328 means? Any ideas as to how I can debug this further?
I discovered some additional information. I was running the above commands within a Cygwin command prompt, then trying to run Bison from a Windows command prompt. If I remove my custom install directory (the --prefix option), then run from within with a Windows (which requires a full path) or Cygwin command prompt, everything works as expected. Therefore, I have narrowed it down to the --prefix argument. I am trying to build now from a Windows command prompt, but changed the --prefix argument to C:\some\install\path in order to see what happens.