配置vim——with-features=huge时遇到麻烦



我使用mercurial克隆了vim源代码,并运行了以下命令:

make distclean
./configure --with-features=huge
make 
sudo make install

所有这些命令的输出看起来都很正常。然而,我的vim -version的输出缺少在./configure(例如xterm_clipboard)时应该启用的特性。我如何诊断这个问题?我的目标是启用netbeans_intg

VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Mar 23 2010 12:50:41)
Included patches: 1-315
Modified by <bugzilla@redhat.com>
Compiled by <bugzilla@redhat.com>
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
+cryptv +cscope +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path
+float +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand
+jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap
+menu +mksession +modify_fname +mouse -mouseshape +mouse_dec +mouse_gpm
-mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte
+multi_lang -mzscheme -netbeans_intg -osfiletype +path_extra +perl +postscript
+printer +profile +python +quickfix +reltime +rightleft +ruby +scrollbind
+signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax
+tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse
+textobjects +title -toolbar +user_commands +vertsplit +virtualedit +visual
+visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup
-X11 -xfontset -xim -xsmp -xterm_clipboard -xterm_save
   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/etc"
 f-b for $VIMRUNTIME: "/usr/share/vim/vim72"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -O2 -g -pipe -Wall  -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64  -D_FORTIFY_SOURCE=1    -D_REENTRANT -D_GNU_SOURCE   -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm  -I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE  -I/usr/local/include/python2.6 -pthread  -I/opt/local/ruby-1.8.7/lib/ruby/1.8/x86_64-linux
Linking: gcc   -L.  -rdynamic -Wl,-export-dynamic  -Wl,-E -Wl,-rpath,/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE   -L/usr/local/lib -o vim       -lselinux  -lncurses -lacl -lgpm   -Wl,-E -Wl,-rpath,/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE  /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/auto/DynaLoader/DynaLoader.a -L/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE -lperl -lresolv -lutil -lc -L/usr/local/lib/python2.6/config -lpython2.6 -lutil -Xlinker -export-dynamic  -lruby-static -lm

您确定正在运行您构建的vim,而不是系统上已经存在的另一个vim吗?在任何情况下,vim都没有使用任何GUI (X11)支持构建,正如您在日志中看到的Huge version without GUI

包括huge并不能让你得到所有的功能;它只会让你得到很多。如果需要X11和xterm_clipboard,请确保指定了X11构建选项。对于基于gtk的系统,您可以这样做:

./configure --with-features=huge --enable-gui=gtk2

这将为您提供大多数X11/图形特性。如果您不使用GTK2,则必须指定其他内容;查看./configure --help的功能列表。

为了使用GUI支持进行构建,您需要安装各种GTK/X11(或您使用的任何GUI)开发库。有可能它正在尝试使用X11支持进行构建,但您没有合适的库。检查configure输出是否有错误。

您的操作系统可能有一个预构建的二进制文件,其中包含您需要的所有功能,正如其他人所建议的那样,但我发现我最终总是不得不为这样或那样的事情编译它,所以它值得弄清楚。如果你提供更多关于你正在运行的操作系统的信息(如果是OSX,哪个补充包系统),有人可能会有一个特定于操作系统的二进制包建议。

当你在一个巨大的构建中没有启用一些特性时,这可能是由于缺少依赖。configure脚本运行大量检测,并在缺少相应的库或...-devel包时跳过某些功能。最简单的安装方法是通过

$ sudo apt-get build-dep vim-gnome # Debian-based
$ sudo yum-builddep vim-gnome # Redhat

对于Netbeans集成,romainl的评论可能是正确的,那只在GVIM中可用(但也应该通过调用构建)。

How can I diagnose this problem?

要做到这一点的方法是手动查看./configure输出,看看它找不到的东西。要做到这一点,并且由于输出不是真正的"用户友好",您必须回滚并扫描输出以"no"结尾的行,如:
checking if X11 header files can be found... no

^这将向你发出信号,你需要安装某种X11开发软件包等。

也许你需要GUI支持来启用netbeans ?我在Huge version without GUI部分看到了"无GUI"部分。

手工做这个需要一些努力和尝试/错误。因为要真正让它在GUI支持下编译,您必须安装一堆不同的包来获得所有正确的开发头文件(至少从我的个人经验来看!)。所以就像人们说的,试着搜索并安装X11开发包,以及gtk2-开发包^^

相关内容

最新更新