Why does my vim-7.3 compile fail to include clientserver?
Solution 1
According to this building Vim page, you'll need these dependencies on 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
Run configure
again.
./configure --with-features=huge --enable-gui=gnome2 --enable-cscope
I've tried and all seemed to be enabled.
Solution 2
The test in feature.h is
#if (defined(WIN32) || defined(FEAT_XCLIPBOARD)) && defined(FEAT_EVAL)
# define FEAT_CLIENTSERVER
#endif
so you have to make sure that FEAT_XCLIPBOARD is enabled. This is done here:
#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
So it looks as if you miss some X11-devel package.
Solution 3
You need to look at the output of ./configure
and at config.log
.
Related videos on Youtube
Andrew-Dufresne
Call me Talha. I go by “talha131” at Github, DEV, and GoodReads. Email is the best way to reach me. I work on Jump Desktop. It is a remote desktop application for iOS, Android, macOS, and Windows. I play a broad role there; which includes research, product design, engineering, and deployment. I also lend a hand in user support. I have been working in the field for more than a decade. I do not pigeonhole myself to specific languages or frameworks. Through the years, I have learned and worked in several programming languages and frameworks. I have built apps for macOS, Windows, Linux, iOS, and Android. I am comfortable working in C, C++, Objective-C, C#, Python, and Java. I took up web development since early 2016 and picked up Go and NodeJS. I have built and delivered apps using ReactJS, Mobx, Redux, and ElectronJS. Besides the day job, I contribute to open source projects, beta test startup products, and offer consultancy. I work on my physical fitness and read books regularly; to be a stronger and better version of myself!
Updated on September 17, 2022Comments
-
Andrew-Dufresne over 1 year
I am trying to compile vim-7.3 will all features enabled. I ran configure with
$ ./configure --with-features=huge --enable-gui --enable-cscope $ make ; make install
When I check the version, it shows several features are still not installed.
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 ....
Now according to vimdoc
N +browse
N +clientserverIt says
Thus if a feature is marked with "N", it is included in the normal, big and huge versions of Vim.
features.h
also says+huge all possible features enabled.
According to the above mentioned two resources,
huge
means all features are enabled. Even if not all, then at least+clientserver
and+browse
has to be enabled inhuge
compilation mode.But my experience says otherwise. Huge compilation fails to include browse and clientserver feature.
- Why is it so? Is my understanding of the document is incorrect?
- How to enable clientserver feature?
- How to enable gui?
- Is it possible to enable all features simply? I tired huge as
features.h
suggested it will enable all possible features, but it didn't work.
Thanks for your time.
Edit: Problem solved!
Thanks to all of you guys for your priceless help.
I checked,vim73/src/auto/config.log
, it was clear that lots of dependencies are missing. Gert post gave an idea which packages are required. I used:$ 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
Some of the packages were already installed, others were not. After that:
$ ./configure --with-features=huge --enable-cscope --enable-gui=auto $ make ; make install
Now my vim has all the packages associated with
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
...Thanks
-
Gert over 13 yearsIt is possible you lack certain dependencies for those features.
-
Andrew-Dufresne over 13 years@Gert: Thanks for the response. What could that be? Any idea?
-
Cole over 13 yearswhats the output of your logfiles? ./configure for example?
- Why is it so? Is my understanding of the document is incorrect?