My laptop has bitten the dust. Until I have the chance to open it up and see if the damage is fixable, I have been borrowing my wife’s computer to tinker (to her annoyance, I’m sure, but she used my laptop until we replaced the desktop so all’s fair). I was going to install noweb on cygwin, and hit the following error on build:
In file included from notangle.nw:28: getline.h:4: error: conflicting types for 'getline' /usr/include/sys/stdio.h:37: error: previous declaration of 'getline' was here getline.h:4: error: conflicting types for 'getline' /usr/include/sys/stdio.h:37: error: previous declaration of 'getline' was here
As I had built noweb before, this error struck me as a little strange. It turns out, that in stdio.h, Cygwin includes its own definition of getline, unlike on standard Unix-likes. A quick googling turned up that this was not unique to noweb, but that other packages had encountered similar difficulties. The answer that worked for me is here:
In sort, all one has to do is open /usr/include/sys/stdio.h and comment out the line that reads:
ssize_t _EXFUN(getline, (char **, size_t *, FILE *));
For safety’s sake, I reinstated the line after installing noweb and everything seems to be running fine.