11

Every time I try to launch vim or emacs or even top (I think it's actually any command that uses ncurses) in a unix terminal (on a cluster computer over ssh), I get a a continuous stream of 'Name collision between x x x' errors like this:

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
......

According to some research I've done on the web this should be related to TERMCAP/TERMINFO, and I think this started happening after I used GNU screen. And in fact, when I am inside a GNU screen session, vim and emacs work fine (except some strange key mappings, for instance arrow keys don't work)

I've tried to set the TERMCAP environment variable to a non-existing file, as I've read somewhere on the internet, and it caused vim to work (with different settings than my usual ones) but not emacs...

Do you know what I can do to solve this problem?

4
  • What unix variant are you using? If Linux, what distribution? (If you don't know, post the output of uname -a.) Commented Oct 26, 2011 at 22:49
  • Here's the output: Linux [host] 2.6.18-274.3.1.el5 #1 SMP Fri Aug 26 18:49:02 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
    – Al.
    Commented Oct 26, 2011 at 23:59
  • 2
    You probably have duplicated terminfo/termcap libraries. Do this: run "strace -o xxx emacs -nw" and immediately exit emacs. Then open the file xxx and search for the error message. A couple of lines above you should see which term* libraries were opened; there are probably your duplicated terminal entries.
    – angus
    Commented Oct 27, 2011 at 16:39
  • Thanks, I saw in the trace that it was trying to open some libraries in the Enthought Python Distribution lib folder, which had nothing to do with emacs, so I remembered I had added that folder to my LD_LIBRARY_PATH (it's the only way I know to run some compiled code using specific shared libraries...)
    – Al.
    Commented Oct 27, 2011 at 22:49

1 Answer 1

4

Solved: The problem was I had specified in my ~/.bashrc an LD_LIBRARY_PATH that contained a folder with many shared libraries, some of which were probably duplicates of others. I think in my case it was the ncurses libraries.

1
  • you don't write how to circumvented it: did you just put the EPD libs at the end of LD_LIBRARY_PATH? Commented Oct 3, 2012 at 0:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .