it-swarm-ja.com

cygwin64の終了コード127

問題なく何年も経った後、64ビットWindows 7 Professionalでの cygwin64 のインストールで突然いくつかのプログラムが実行に失敗し、代わりにコード127ですぐに終了するように見えます、which 通常、Bashで「コマンドが見つかりません」を意味します 。特に、vimemacs、さらにはclearのようなプログラムはこの動作を示しますが、viechotouch、およびdateのような他のプログラムは正常に動作しているようです。

最初は、前回のパッケージ更新で問題が発生した可能性があると考えたため、cygwinセットアップの コマンドラインインターフェイス を使用して別の更新を実行しましたが、役に立たなかったようです。

私の知る限り、影響を受けたプログラムはまったく機能しません。プログラムへの--versionフラグすら機能しないため、cygwin自体または一般的な依存関係に何か問題があるのではないかと思います。

$ vim --version
$ echo $?
127

(役立つ場合は、さまざまなパッケージの特定のバージョン番号を提供できますが、この問題は最新の更新の前後の両方に存在していたため、それほど重要ではないと思います。)

PATH変数を再確認しましたが、予想どおり、/usr/local/bin:/usr/bin:で始まります。これらのプログラムには、cygwinのパッケージマネージャーによって適切に解決されていない、またはPATHに自動的に追加されていない可能性のある新しい依存関係がありますか?

私は他に明らかな何かが欠けていますか?

2
Tim Parenti

clearが原因のようです。フルパスで実行しようとして、これを診断しました。

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

それから私は中を見ました/usr/binそしてclearがどういうわけか完全に欠落していることがわかりました。そこで、cygwinのGUIセットアップを使用して、ncursesclear、そしてすべてが正常に機能しているようです。

vimemacsの両方がclearを利用しているのは当然のことであり、したがって問題はこれらのプログラムにも連鎖しています。

2
Tim Parenti

Cygwinの更新を行った後、まったく同じことが起こりました。vimは起動しません、コード127。clear.exeを追加しても何も起こりませんでした。

strace vim +q与えられたsigalstackはdllcygwin1.dllに見つかりませんでしたcygwinメーリングリストの親切な人々は、すべてのcygwinプロセスを閉じなかったため、更新が完了しなかった可能性があると述べました。確かに私はsshdとcygrunsrvを実行し、それらを強制終了し、cygwinベースを再インストールしました(セットアップに移動し、手動でcygwinベースの再インストールを選択します)。これですべてが修正されました。頑張って友達

5
omilu

Googleからここに到着した人のために-私はプログラムがCygwin(特にgcc)でエラーコード127で終了するという経験をしました。

問題は、スペースのあるパスにインストールしたことであることが判明しました。

GUIを使用してインストールすると、これについて警告されます。コマンドラインからインストールしましたが、そのような警告がインストールの実行を妨げることはありませんでした。

1
jmurphyau