web-dev-qa-db-ja.com

ソースからgvimをコンパイルしますか?

最近、次のようにvimをインストールしました。

hg clone https://vim.googlecode.com/hg/ vim
cd vim
Sudo ./configure --enable-rubyinterp=yes --enable-pythoninterp=yes --enable-gui=gtk2 --prefix=/opt/vim
make 
make install
make install clean

そのため、私のVIMのバイナリは/opt/vim/binの下にあります。このディレクトリのls -laは次のとおりです。

$ ls -la /opt/vim/bin
total 1500
drwxr-xr-x 2 root root    4096 2011-05-25 12:46 .
drwxr-xr-x 4 root root    4096 2011-05-25 12:46 ..
lrwxrwxrwx 1 root root       3 2011-05-25 12:46 ex -> vim
lrwxrwxrwx 1 root root       3 2011-05-25 12:46 rview -> vim
lrwxrwxrwx 1 root root       3 2011-05-25 12:46 rvim -> vim
lrwxrwxrwx 1 root root       3 2011-05-25 12:46 view -> vim
-rwxr-xr-x 1 root root 1504188 2011-05-25 12:46 vim
lrwxrwxrwx 1 root root       3 2011-05-25 12:46 vimdiff -> vim
-rwxr-xr-x 1 root root    2084 2011-05-25 12:46 vimtutor
-rwxr-xr-x 1 root root   13900 2011-05-25 12:46 xxd

私のvim.gtkはどこにありますか? configureで--enable-gui=gtk2を指定しました。インストーラーにGUIバージョンとコンソールアプリケーションが必要だと言ってはいけませんか?

gtkバージョンを正しく指定しました。

$ dpkg -l libgtk[0-9]* | grep ^i
ii  libgtk2-Perl                          1:1.221-4                                  Perl interface to the 2.x series of the Gimp Toolkit library
ii  libgtk2.0-0                           2.18.3-1ubuntu2.2                          The GTK+ graphical user interface library
ii  libgtk2.0-bin                         2.18.3-1ubuntu2.2                          The programs for the GTK+ graphical user interface library
ii  libgtk2.0-common                      2.18.3-1ubuntu2.2                          Common files for the GTK+ graphical user interface library

[〜#〜] update [〜#〜]:src/INSTALLに書き込まれます

 88 Unix: COMPILING WITH/WITHOUT GUI
 89
 90 NOTE: This is incomplete, look in Makefile for more info.
 91
 92 These configure arguments can be used to select which GUI to use:
 93 --enable-gui=gtk      or: gtk2, motif, athena or auto
 94 --disable-gtk-check
 95 --disable-motif-check
 96 --disable-athena-check
 97
 98 --enable-gui defaults to "auto", so it will automatically look for a GUI (in
 99 the order of GTK, Motif, then Athena).  If one is found, then is uses it and
100 does not proceed to check any of the remaining ones.  Otherwise, it moves on
101 to the next one.

そこで、--enable-guiを指定しないようにしました。これにより、使用するGUIエンジン/ツールキットが見つかることを期待しています...それでも同じ結果です:(

[〜#〜] update [〜#〜]:さらに:

/opt/vim/bin$ ./vim -g
E25: GUI cannot be used: Not enabled at compile time

[〜#〜] update [〜#〜]

私はこれのすべてが必要ですか:

$ Sudo aptitude search gtk | grep dev
p   gnunet-gtk-dev                  - secure, trust-based peer-to-peer framework
v   gtkgl-dev                       -                                           
p   gtkparasite                     - GTK+ debugging and development tool       
p   libaiksaurusgtk-1.2-dev         - graphical interface to the Aiksaurus toolk
v   libaiksaurusgtk-dev             -                                           
p   libcanberra-gtk-dev             - a simple abstract interface for playing ev
p   libchamplain-gtk-0.4-dev        - A Gtk+ widget to display maps (development
p   libclutter-gtk-0.10-dev         - Open GL based interactive canvas library G
p   libdbusmenu-gtk-dev             - Menus over DBus shared library for GTK    
p   libempathy-gtk-dev              - High-level library and user-interface for 
v   libequeue-gtk2-ocaml-dev        -                                           
p   libexif-gtk-dev                 - Library providing GTK+ widgets to display/
p   libgalago-gtk-dev               - libraries and header files for developing 
p   libgdu-gtk-dev                  - GTK+ standard dialog library for libgdu - 
p   libggadget-gtk-1.0-dev          - Google Gadgets GTK+ development files     
p   libggz-gtk-dev                  - GGZ Gaming Zone: core client embedding lib
p   libghc6-gtk-dev                 - A GUI library for Haskell (Gtk2Hs) -- GTK+
p   libghc6-gtkglext-dev            - A GUI library for Haskell (Gtk2Hs) -- gtkg
p   libghc6-gtksourceview2-dev      - A GUI library for Haskell (Gtk2Hs) -- GtkS
p   libghc6-soegtk-dev              - A GUI library for Haskell (Gtk2Hs) -- soeg
p   libglrr-gtk-dev                 - Development library of Grift (gtk)        
p   libgpod-nogtk-dev               - development files for libgpod (version wit
p   libgtk-directfb-2.0-dev         - Development files for the GTK+ library - D
p   libgtk-vnc-1.0-dev              - A VNC viewer widget for GTK+ (development
i   libgtk2.0-dev                   - Development files for the GTK+ library
p   libgtkada2-dev                  - Development files for libgtkada2
p   libgtkdatabox-0.9.0-1-dev       - A Gtk+ library to display large amounts of
v   libgtkdatabox-dev               -
p   libgtkextra-x11-2.0-dev         - A useful set of widgets for GTK+ (developm
p   libgtkgl2.0-dev                 - OpenGL area for GTK (development files)
p   libgtkglext1-dev                - OpenGL Extension to GTK+ (development file
p   libgtkglextmm-x11-1.2-dev       - C++ bindings for GtkGLExt (Development fil
p   libgtkhex0-dev                  - GNOME Hex editor for files (development he
p   libgtkhtml-editor-dev           - HTML rendering/editing library - editor wi
p   libgtkhtml2-dev                 - HTML rendering/editing library - developme
p   libgtkhtml3.14-dev              - HTML rendering/editing library - developme
p   libgtkhtml3.8-dev               - HTML rendering/editing library - developme
p   libgtkimageview-dev             - image viewer widget for GTK+ (development
p   libgtkmathview-dev              - rendering engine for MathML documents
p   libgtkmm-2.4-dev                - C++ wrappers for GTK+ 2.4 (development fil
p   libgtkmm-utils-dev              - utility functions, classes and widgets wri
p   libgtksourceview-dev            - development files for the GTK+ syntax high
p   libgtksourceview2.0-dev         - development files for the GTK+ syntax high
p   libgtksourceviewmm-1.0-dev      - C++ binding of GtkSourceView - development
p   libgtksourceviewmm-2.0-dev      - C++ binding of GtkSourceView - development
p   libgtkspell-dev                 - Development files for GtkSpell
p   libindicate-gtk-dev             - GNOME panel indicator applet - shared libr
p   libjana-gtk-dev                 - A set of GTK+ widgets to visualise libjana
p   liblablgtk2-gl-ocaml-dev        - OCaml bindings to GtkGL
p   liblablgtk2-gnome-ocaml-dev     - OCaml bindings to GNOME
p   liblablgtk2-ocaml-dev           - OCaml bindings to Gtk+ version 2
p   liblablgtkmathview-ocaml-dev    - OCaml bindings for libgtkmathview, a GTK w
p   liblablgtksourceview-ocaml-dev  - OCaml bindings for libgtksourceview, a sou
v   libnotify-dev-gtk2.10           -
p   libocamlnet-gtk2-ocaml-dev      - OCaml application-level Internet libraries
p   libpolkit-gtk-1-dev             - PolicyKit GTK+ API - development files
v   libsylpheed-claws-gtk2-dev      -
p   libtinymailui-gtk-dev           - Framework for mobile applications with e-m
p   libtinymailui-gtkhtml-dev       - Framework for mobile applications with e-m
p   libtracker-gtk-dev              - GTK+ widgets for apps that use tracker - d
v   libunicapgtk-dev                -
p   libunicapgtk2-dev               - graphical widgets for unicap - development
p   libwxgtk2.6-dev                 - wxWidgets Cross-platform C++ GUI toolkit (
p   libwxgtk2.8-dev                 - wxWidgets Cross-platform C++ GUI toolkit (
p   libzbargtk-dev                  - scanning and decoding bar codes (GTK+ bind
p   python-galago-gtk-dev           - Galago presence library (Python interface)
p   python-gtk2-dev                 - GTK+ bindings: devel files
p   telepathy-devel-gtk             - Telepathy Development packages for GTK

私が必要としないほとんどのパッケージのように見えます。例えば。モバイルアプリのフレームワーク、... HTMLレンダラーなど。インストールしたものはlibgtk2.0-dev...それでも、gVIM....をコンパイルできません。Agrhhhhh

12
Nemoden

Centos 6.2(x86_64)にgvim7.3をインストールするときに同様の問題が発生しました

いくつかの必要な開発パッケージがありませんでした。それらをインストールするには:

yum groupinstall "Desktop Platform Development"

[利用可能なすべてのグループを表示するには:yum grouplist]

次に、ソースからのビルドが機能しました

wget ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2
bunzip2 vim-7.3.tar.bz2
tar xf vim-7.3.tar
cd vim73

./configure --prefix=/home/me/vim73
make
make install

欠落しているファイルを見つけるには:

./configure | less

'gui'を検索すると、X11関連のヘッダーが欠落していることがわかりました。

7
arunbear

buntでは、vimを次のようにコンパイルします。

Sudo apt-get build-dep vim
Sudo apt-get build-dep libx11-dev libxtst-dev

make distclean

./configure --with-compiledby="David Gamba <[email protected]>" \
--with-features=huge \
--enable-gui=auto \
--with-x \
--enable-rubyinterp \
--with-Ruby-command=/usr/bin/Ruby \
--enable-perlinterp \
--enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config \
--enable-fontset \
--enable-cscope \
--enable-gtk2-check \
--enable-gnome-check

make

この時点で、 cd srcそして正しいX11とクリップボードのサポートを確認します:./vim --version。次に:

Sudo make install

Fedora(KDEデスクトップを使用)の場合、次のパッケージをインストールしました。

yum install gcc libX11-devel libXtst-devel ncurses-devel Perl-ExtUtils-Embed Ruby ruby-devel python-devel gtk2-devel libXt-devel

そして、configureコマンドを次のように変更しました。

./configure --with-compiledby="David Gamba <[email protected]>" \
--with-features=huge \
--enable-gui=auto \
--with-x \
--enable-rubyinterp \
--with-Ruby-command=/usr/bin/Ruby \
--enable-perlinterp \
--enable-pythoninterp --with-python-config-dir=/usr/lib64/python2.7/config \
--enable-fontset \
--enable-cscope \
--enable-gtk2-check \
--enable-gnome-check \
--enable-fail-if-missing

その後、私は次のようになります。

gvim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled May  4 2014 19:43:27)
Included patches: 1-274
Compiled by David Gamba <davidgamba ...>

EDIT:Fedoraの場合、xsubpp Perlスクリプトの場所でエラーが発生したため、いくつかのおかげでMakefileを変更することになりました。オンラインのバグレポート。

--- a/src/Makefile      Fri May 02 15:46:14 2014 +0200
+++ b/src/Makefile      Sun May 04 19:56:20 2014 -0600
@@ -2465,7 +2465,7 @@

 auto/if_Perl.c: if_Perl.xs
        $(Perl) -e 'unless ( $$] >= 5.005 ) { for (qw(na defgv errgv)) { print "#define PL_$$_ $$_\n" }}' > $@
-       $(Perl) $(PERLLIB)/ExtUtils/xsubpp -prototypes -typemap \
+       $(Perl) /usr/bin/xsubpp -prototypes -typemap \
            $(PERLLIB)/ExtUtils/typemap if_Perl.xs >> $@

  auto/osdef.h: auto/config.h osdef.sh osdef1.h.in osdef2.h.in
4
DavidG

次のコマンドを使用して、gvimに必要な依存関係を見つけることができます。

Sudo apt-get build-dep vim

/ etc/apt /のsource.listファイルにソースリポジトリを追加していない場合は、このファイルを開き、内部のエントリを複製して、「dep」を「dep-src」に変更できます。

すべての依存関係をインストールすると、GUIを使用してvimをコンパイルできるようになります。

2
Khue Vu

また、X11/Intrinsic.hがないため、RHEL6.1でenable-guiオプションを使用してvim73をビルドできませんでした。 Linuxにはインクルードファイルがありましたか?そうでない場合は、libxt-devパッケージから取得できます。

1
mito

これは、十分な*-develパッケージがインストールされていない場合のように見えます。すべての開発パッケージをインストールしてみてください。それらのほとんどをインストールするためのメタパッケージがあると思います。 gnome-develをお試しください。申し訳ありませんが、現在近くにUbuntuがありません。

Vimのさまざまなバリアント(GUIと非GUIなど)をコンパイルするには、vimを複数回構成/コンパイルする必要があります。

1
Keith

Vimをコンパイルするときに出力を監視します。私は自分でvimをコンパイルしていませんが、gvimに必要なファイルが見つからないという警告/エラーが発生することは間違いありません。

0
Wieland