¿Por qué recibo errores de 'Nombre colisión entre ...' y cómo puedo solucionarlos?

10

Cada vez que intento iniciar vimo emacsincluso top(creo que en realidad es cualquier comando que usa ncurses) en un terminal unix (en una computadora de clúster a través de ssh), obtengo un flujo continuo de errores 'Colisión de nombres entre xxx' como este:

Name collision between dumb dumb
Name collision between unknown unknown
Name collision between lpr lpr
Name collision between glasstty glasstty
Name collision between vanilla vanilla
Name collision between ansi+local1 ansi+local1
Name collision between ansi+local ansi+local
......
Name collision between terminet1200 terminet1200 terminet1200 terminet1200 terminet1200 terminet1200 terminet1200 terminet1200 terminet1200 terminet1200 terminet1200 terminet1200
Name collision between h19-a h19-a h19-a h19-a h19-a h19-a h19-a h19-a h19-a h19-a h19-a h19-a
Name collision between h19-bs h19-bs h19-bs h19-bs h19-bs h19-bs h19-bs h19-bs h19-bs h19-bs h19-bs h19-bs
Name collision between h19-us h19-us h19-us h19-us h19-us h19-us h19-us h19-us h19-us h19-us h19-us h19-us
Name collision between h19 h19 h19 h19 h19 h19 h19 h19 h19 h19 h19 h19
......

Según algunas investigaciones que he realizado en la web, esto debería estar relacionado con TERMCAP / TERMINFO, y creo que esto comenzó a suceder después de usar la pantalla GNU. Y, de hecho, cuando estoy dentro de una sesión de pantalla de GNU, vim y emacs funcionan bien (excepto algunas asignaciones de teclas extrañas, por ejemplo, las teclas de flecha no funcionan)

Intenté establecer la variable de entorno TERMCAP en un archivo no existente, como leí en algún lugar de Internet, y causó que vim funcionara (con configuraciones diferentes a las habituales) pero no emacs ...

¿Sabes lo que puedo hacer para resolver este problema?

Alabama.
fuente
¿Qué variante de Unix estás usando? Si es Linux, ¿qué distribución? (Si no sabe, publique la salida de uname -a.)
Gilles 'SO- deja de ser malvado'
Aquí está el resultado: Linux [host] 2.6.18-274.3.1.el5 # 1 SMP vie 26 de agosto 18:49:02 EDT 2011 x86_64 x86_64 x86_64 GNU / Linux
Al.
2
Probablemente haya duplicado las bibliotecas terminfo / termcap. Haga esto: ejecute "strace -o xxx emacs -nw" e inmediatamente salga de emacs. Luego abra el archivo xxx y busque el mensaje de error. Un par de líneas sobre usted debería ver qué término * se abrieron las bibliotecas; Probablemente hay entradas de terminal duplicadas.
angus
Gracias, vi en el seguimiento que estaba tratando de abrir algunas bibliotecas en la carpeta lib de Enthought Python Distribution, que no tenía nada que ver con emacs, así que recordé que había agregado esa carpeta a mi LD_LIBRARY_PATH (es la única forma en que sé ejecutar un código compilado utilizando bibliotecas compartidas específicas ...)
Al.

Respuestas:

3

Resuelto: El problema era que había especificado en mi ~/.bashrcun LD_LIBRARY_PATHarchivo que contenía una carpeta con muchas bibliotecas compartidas, algunas de las cuales probablemente eran duplicados de otras. Creo que en mi caso fueron las ncursesbibliotecas.

Alabama.
fuente
no escribes cómo eludirlo: ¿acabas de poner las librerías EPD al final de LD_LIBRARY_PATH?
K.-Michael Aye