Sair do código 127 no cygwin64

2

Depois de anos sem problemas, de repente vários programas na minha instalação do cygwin64 no Windows 7 Professional de 64 bits não estão em execução, e em vez disso, parece sair imediatamente com o código 127, que geralmente significa "comando não encontrado" no Bash . Em particular, programas como vim , emacs e até clear exibem esse comportamento, enquanto outros, como vi , echo , touch e date , parecem funcionar normalmente.

A princípio, imaginei que algo poderia estar errado com uma rodada anterior de atualizações de pacotes, então executei outra atualização usando interface de linha de comando , mas não parece ajudar.

Pelo que posso dizer, os programas afetados não funcionam. Nem mesmo --version sinaliza para o trabalho do programa, o que me faz pensar que pode haver algo errado com o cygwin em si ou com uma dependência comum:

$ vim --version
$ echo $?
127

(Eu posso fornecer números de versão específicos para vários pacotes se isso ajudar, mas como esse problema existia antes e depois das atualizações mais recentes, duvido que isso importe muito).

Eu verifiquei novamente a variável PATH e ela começa com /usr/local/bin:/usr/bin: , como esperado. Há talvez alguma nova dependência nesses programas que não esteja sendo resolvida adequadamente pelo gerenciador de pacotes do cygwin ou que possa não ter sido adicionada automaticamente ao meu PATH?

Estou faltando alguma outra coisa óbvia?

    
por Tim Parenti 01.01.2015 / 23:18

3 respostas

2

Parece que clear foi o culpado. Eu diagnostiquei isso tentando executá-lo com o caminho completo:

$ /usr/bin/clear
$ echo $?
127

Eu olhei dentro de /usr/bin e achei que clear estava de alguma forma ausente. Então, usando a configuração GUI do cygwin, forcei uma nova reinstalação de ncurses , o pacote que contém clear , e tudo parece estar funcionando agora.

É lógico que vim e emacs fazem uso de clear , daí os problemas em cascata para esses programas também.

    
por 04.01.2015 / 01:09
4

Exatamente a mesma coisa aconteceu comigo depois que fiz uma atualização do cygwin, o vim não inicia, código 127. Adicionar o arquivo clear.exe não fez nada.

strace vim +q deu sigalstack não pôde ser localizado na dll cygwin1.dll O pessoal da lista de discussão do cygwin disse que minha atualização provavelmente não foi concluída, porque eu não fechei todos os processos do cygwin. Na verdade eu tinha sshd e cygrunsrv indo, eu matei aqueles, e reinstalado base cygwin (entrar em configuração e selecionar manualmente reinstalar base cygwin) isso tudo corrigido. Boa sorte amigos

    
por 16.10.2015 / 16:57
1

Para quem chega aqui do Google - tive uma experiência em que os programas saíam com o código de erro 127 no Cygwin (em especial o gcc).

O problema acabou por ser instalado em um caminho com um espaço nele.

Se você instalar usando a GUI, ele avisa sobre isso. Eu instalei a partir da linha de comando e nenhum aviso desse tipo me impediu de fazer a instalação.

    
por 12.07.2018 / 01:26