After years without problems, suddenly several programs in my installation of cygwin64 on 64-bit Windows 7 Professional are failing to run, and instead appear to exit immediately with code 127, which usually means "command not found" in Bash. In particular, programs like vim
, emacs
, and even clear
exhibit this behavior, while others like vi
, echo
, touch
, and date
seem to operate normally.
At first, I figured something might have gone wrong with a previous round of package updates, so I ran another update using cygwin setup's command-line interface, but it didn't seem to help.
From what I can tell, the affected programs don't work at all. Not even --version
flags to the program work, which makes me think that there may be something wrong with cygwin itself or a common dependency:
$ vim --version
$ echo $?
127
(I can provide specific version numbers for various packages if it will help, but since this problem existed both before and after the most recent updates, I doubt it matters much.)
I double-checked my PATH variable, and it begins with /usr/local/bin:/usr/bin:
, as expected. Is there perhaps some new dependency in these programs that isn't being properly resolved by cygwin's package manager or which may not have been automatically added to my PATH?
Am I missing something else obvious?
It looks like clear
was the culprit. I diagnosed this by trying to run it with its full path:
$ /usr/bin/clear
$ echo $?
127
I then looked inside /usr/bin
and found that clear
was somehow missing altogether. So, using cygwin's GUI setup, I forced a fresh reinstall of ncurses
, the package which contains clear
, and everything seems to be in working order now.
It stands to reason that vim
and emacs
both make use of clear
, hence the problems cascaded to those programs, too.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments