Why does my vim-7.3 compile fail to include clientserver?

5,821

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.

Share:
5,821

Related videos on Youtube

Andrew-Dufresne
Author by

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, 2022

Comments

  • Andrew-Dufresne
    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 +clientserver

    It 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 in huge compilation mode.

    But my experience says otherwise. Huge compilation fails to include browse and clientserver feature.

    1. Why is it so? Is my understanding of the document is incorrect?
    2. How to enable clientserver feature?
    3. How to enable gui?
    4. 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
      Gert over 13 years
      It is possible you lack certain dependencies for those features.
    • Andrew-Dufresne
      Andrew-Dufresne over 13 years
      @Gert: Thanks for the response. What could that be? Any idea?
    • Cole
      Cole over 13 years
      whats the output of your logfiles? ./configure for example?