Por que minha compilação vim-7.3 falha ao incluir o servidor de clientes?

6

Eu estou tentando compilar o vim-7.3 com todos os recursos habilitados. Eu corri configure com

$ ./configure --with-features=huge --enable-gui --enable-cscope
$ make ; make install

Quando eu verifico a versão, ela mostra que vários recursos ainda não estão instalados.

Huge version without GUI. Features included (+) or not (-): +arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent -clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path ....

Agora, de acordo com o vimdoc

N +browse
N +clientserver

Diz

Thus if a feature is marked with "N", it is included in the normal, big and huge versions of Vim.

features.h também diz

+huge all possible features enabled.

De acordo com os dois recursos mencionados acima, huge significa que todos os recursos estão ativados. Mesmo que não todos, pelo menos +clientserver e +browse precisam estar habilitados no modo de compilação huge .

Mas minha experiência diz o contrário. A enorme compilação não inclui o recurso de navegação e de clienterver.

  1. Por que isso acontece? Meu entendimento do documento está incorreto?
  2. Como ativar o recurso de servidor de clientes?
  3. Como ativar o gui?
  4. É possível ativar os recursos all simplesmente? Eu me cansei muito porque features.h sugeriu que isso permitiria todos os recursos possíveis, mas não funcionou.

Obrigado pelo seu tempo.

Editar: problema resolvido!

Obrigado a todos vocês por sua inestimável ajuda.
Eu verifiquei, vim73/src/auto/config.log , ficou claro que muitas dependências estão faltando. Gert post deu uma ideia de quais pacotes são necessários. Eu usei:

$ yum -yv install libXt.i686 libXt-devel.i686 \
libXpm.i686 libXpm-devel.i686 \
libX11.i686 libX11-common.noarch libX11-devel.i686 \
ghc-cairo-devel.i686  cairo.i686   \
libgnomeui-devel.i686 \
ncurses.i686 ncurses-devel.i686  ncurses-libs.i686 ncurses-static.i686 \
ghc-gtk-devel.i686 gtk+-devel.i686 \
gtk2.i686  gtk2-devel.i686 \
atk-devel.i686 atk.i686 \
libbonoboui.i686 libbonoboui-devel.i686 

Alguns dos pacotes já foram instalados, outros não. Depois disso:

$ ./configure --with-features=huge --enable-cscope --enable-gui=auto
$ make ; make install

Agora meu vim tem todos os pacotes associados a huge .

Huge version with GTK2 GUI. Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff
+digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi
...

Obrigado

    
por Andrew-Dufresne 06.10.2010 / 14:22

3 respostas

9

De acordo com esta página do Vim do edifício , você precisará destas dependências no Ubuntu

sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
   libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
   libcairo2-dev libx11-dev libxpm-dev libxt-dev

Execute configure novamente.

./configure --with-features=huge --enable-gui=gnome2 --enable-cscope

Eu tentei e tudo parecia estar ativado.

    
por 06.10.2010 / 20:17
4

O teste em feature.h é

#if (defined(WIN32) || defined(FEAT_XCLIPBOARD)) && defined(FEAT_EVAL)
# define FEAT_CLIENTSERVER
#endif

, então você precisa ter certeza de que o FEAT_XCLIPBOARD está ativado. Isso é feito aqui:

#if defined(FEAT_NORMAL) && defined(FEAT_VISUAL) \
        && (defined(UNIX) || defined(VMS)) \
        && defined(WANT_X11) && defined(HAVE_X11)
# define FEAT_XCLIPBOARD
# ifndef FEAT_CLIPBOARD
#  define FEAT_CLIPBOARD
# endif
#endif

Então parece que você perdeu algum pacote do X11-devel.

    
por 06.10.2010 / 19:20
3

Você precisa ver a saída de ./configure e a config.log .

    
por 06.10.2010 / 18:40

Tags