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:
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)