windows-7 cygwin stdout stderr

windows 7 - "No se pudo distinguir stderr de stdout" cuando se ejecutan comandos de Cygwin



windows-7 (5)

Esto me ayudó:

Pruebe una versión de prueba Beta de Cygwin 1.7 en su lugar:

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

Cygwin 1.5.25 no es realmente compatible con Windows 7. Solo se prueba Cygwin 1.7.

Estoy intentando configurar una versión anterior de Cygwin en mi sistema operativo Windows 7 x64. Hasta aquí todo bien. Ahora estoy atascado en el problema de distinción de 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

Estoy corriendo:

$ 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

La instalación de Cygwin tenía la opción de terminaciones de línea de DOS seleccionada (para compatibilidad con algún código heredado).

Para solucionar otros problemas con las terminaciones de línea (bash tenía problemas al procesar / cygdrive / c / cygwin-legacy / bin / vmake script, como el problema que se describe aquí: http://chess.eecs.berkeley.edu/softdevel/faq/5.html ) Los he añadido a ~ / .bash_profile:

export SHELLOPTS set -o igncr

Después de leer http://lists-archives.com/cygwin/50369-run-requires-cygwin-tty.html , también configuré:

$ CYGWIN=tty

Esto no cambió nada. Todavía estoy recibiendo

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

con diferentes números de 4 dígitos cada vez.


He tenido el mismo problema aquí. Entonces recordé, que reemplazamos el comando "make" por una MSYS-Version (ya que la ''marca'' del nuevo paquete cygwin no manejaba ninguna pathes con dos puntos (":") -> esto llevaba a errores de "múltiples destinos" .

La sustitución del comando ''hacer'' resolvió este problema, pero provocó que "stdio_init: no pudiera hacer que stderr fuera distinto de stdout" cuando intenté compilar otros proyectos.

Por lo tanto:

¿Tiene MSYS / MinGW instalado en su máquina también?

Prueba esto:

make --version

debería verse así:

GNU Make 3.82.90 Built for i686-pc-cygwin

si obtienes algo como:

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

En su lugar, debe usar cygwin ''make''.

Quizás este error ocurra si mezcla los componentes de diferentes versiones de cygwin ...


Al eliminar C: / DevKit / bin de mi camino, el problema desapareció.


Una pequeña nota para las personas que tienen este problema con otros binarios como ssh. Tuve este error ya que cygwin estaba intentando ejecutar el cliente de Windows ssh en lugar de la versión en cygwin


Compruebe que el ejecutable sea una versión de cygwin

Recibí este error al intentar ejecutar un archivo ejecutable Msys desde cygwin. Msys es otro entorno ''linux on windows'' y es incompatible con cygwin.

Específicamente, estaba intentando lanzar Git para Windows a través de un enlace simbólico en mi ruta / bin. Aparentemente lo había instalado hace años y luego creó el enlace simbólico, y no noté ningún problema hasta que intenté usar git gui que luego arrojó el couldn''t make stderr distinct from stdout error couldn''t make stderr distinct from stdout . Curiosamente, muchos de los comandos de git funcionan, o fallan silenciosamente, por lo que no era inmediatamente notorio.

Cuando cygwin intenta lanzar un programa destinado al entorno Msys, arroja el error.

Para solucionarlo , descargue la versión cygwin de la aplicación problemática y elimine todos los enlaces simbólicos que tenga en su lugar que apunten a la versión de Windows.

Para el caso Git:

  • Eliminé / bin / git symlink
  • volver a ejecutar la configuración de cygwin e instalar git (versión cygwin)