14

Windows 7x64OSで古いバージョンのCygwinをセットアップしようとしています。ここまでは順調ですね。今、私はsrdout /stderrの区別の問題で立ち往生しています:

$ vmake
  1 [main] make 7060 dtable::stdio_init: couldn't make stderr distinct from stdout

$ ls /
  1 [main] ls 8180 dtable::stdio_init: couldn't make stderr distinct from stdout
Cygwin.bat  Cygwin.ico  bin  cygdrive  etc  lib  proc  setup.log  setup.log.full  tmp  usr  var

私は走っています:

$ uname -srv
  1 [main] uname 5876 dtable::stdio_init: couldn't make stderr distinct from stdout
CYGWIN_NT-6.1-WOW64 1.5.25(0.156/4/2) 2008-06-12 19:34

Cygwinのインストールでは、DOSの行末オプションが選択されていました(一部のレガシーコードの互換性のため)。

行末に関する別の問題を修正するには(bashでは/cygdrive/c/cygwin-legacy/bin/vmakeスクリプトの処理に問題がありました。たとえば、ここで説明する問題のように:http: //chess.eecs.berkeley.edu/softdevel/faq/5.html)これらを〜/ .bash_profileに追加しました:

export SHELLOPTS
set -o igncr

http://lists-archives.com/cygwin/50369-run-requires-cygwin-tty.htmlを読んだ後、私も次のように設定しました。

$ CYGWIN=tty

これは何も変わりませんでした。私はまだ得ています

1 [main] make 7060 dtable::stdio_init: couldn't make stderr distinct from stdout

毎回異なる4桁の数字で。

4

5 に答える 5

11

私はここでも同じ問題を抱えています。次に、「make」コマンドをMSYS-Versionに置き換えたことを思い出しました(新しいcygwinパッケージの「make」はコロン(「:」)を含むパスを処理しなかったため)->これにより「複数のターゲット」エラーが発生します。

'make'コマンドを置き換えるとこの問題は解決しましたが、他のプロジェクトをコンパイルしようとすると、「stdio_init:stderrをstdoutと区別できませんでした」という原因になりました。

したがって:

MSYS / MinGWもマシンにインストールされていますか?

これを試して:

make --version

次のようになります。

GNU Make 3.82.90
Built for i686-pc-cygwin

あなたが次のようなものを手に入れたら:

GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i686-pc-msys

代わりにcygwin'make'を使用する必要があります。

おそらく、このエラーは、異なるcygwinバージョンのコンポーネントを混同した場合に発生します...

于 2012-10-18T13:07:07.993 に答える
6

ssh などの他のバイナリでこの問題を抱えている人へのちょっとしたメモ。cygwin が cygwin のバージョンではなく Windows ssh クライアントを実行しようとしていたため、このエラーが発生しました

于 2014-05-07T09:44:28.303 に答える
1

実行可能ファイルが cygwin バージョンであることを確認します

cygwin 内からMsys実行可能ファイルを起動しようとすると、このエラーが発生しました。Msys は別の「Linux on Windows」環境であり、cygwin と互換性がありません。

具体的には、/bin パスのシンボリック リンクを介してGit for Windowsを起動しようとしていました。どうやらそれを何年も前にインストールしてシンボリックリンクを作成したようで、使用しようとするまで問題に気付かずgit guicouldn't make stderr distinct from stdoutエラーがスローされました。興味深いことに、多くの git コマンドは機能するか、黙って失敗するため、すぐには気付かれませんでした。

cygwin が Msys 環境向けのプログラムを起動しようとすると、エラーがスローされます。

それを修正するには、問題のアプリの cygwin バージョンをダウンロードし、Windows バージョンを指しているシンボリック リンクをすべて削除します。

Git の場合:

  • /bin/git シンボリックリンクを削除しました
  • cygwin セットアップを再実行し、git をインストールしました (cygwin バージョン)
于 2015-02-10T00:31:54.360 に答える
0

これは私を助けました:

代わりに Cygwin 1.7 ベータ テスト リリースを試してください。

http://cygwin.com/#beta-test

Cygwin 1.5.25 は Windows 7 では実際にはサポートされていません。Cygwin 1.7 のみがテストされています。

于 2012-08-10T10:32:28.787 に答える