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


12

最近、私は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--enable-gui=gtk2configureで指定しました。インストーラーにコンソールアプリケーションだけでなく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

更新: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エンジン/ツールキットを単独で使用するかを期待して指定しないようにしようとしました...同じ結果:(

更新:さらに:

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

更新

このすべてが必要ですか?

$ 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

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


なぜ "sudo ./configure [...]"をしているのですか?configureスクリプトをrootとして実行する必要はありません。「sudo make isntall」を実行することは理解できますが、「make install」を実行してから「make install clean」を実行する必要はありません。Vimを2回インストールします。
ヘプタイト

多数のランダムなdevファイルをインストールする必要はありません。configureスクリプトが必要なライブラリを見つけられない場合、makefileの出力を拒否します。。あなたの問題はconfigureそれ自体にあるようです。私はチェックしconfig.log--enable-guiオプションなどを処理する方法を確認します
-jpaugh

回答:


7

CentOS 6.2(x86_64)にgvim 7.3をインストールするときに同様の問題が発生しました

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

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関連のヘッダーが欠落していることがわかりました。


4

Ubuntuの Iコンパイルvimの次の方法:

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

make distclean

./configure --with-compiledby="David Gamba <davidgamba@gambaeng.com>" \
--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 <davidgamba@gambaeng.com>" \
--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 ...>

編集:Fedoraの場合、xsubppperlスクリプトの場所にエラーがあったことを忘れていました。そのため、オンラインのバグレポートのおかげで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

2

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

sudo apt-get build-dep vim

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

すべての依存関係がインストールされたら、guiを使用してvimをコンパイルできます。


1

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

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


Unixライクなシステムでは、GUIバージョンと非GUIバージョンを別々に構築する理由はありません。A「ノーマル」ビルドとインストールが名前の単一のバイナリが作成されますvimVim--の他のすべてのフォームこれにはgvimviewex、など.--がリンクされています。Vimは、呼び出された名前に基づいて、採用する性格を認識しています。
ゲイリージョン

あなたは正しい、あなたはする必要はありません。しかし、ほとんどのディストリビューションには、GUIと非GUIバリアント用の個別のビルドがあり、異なるバイナリパッケージで利用できます。minimalfull featuredバージョンのようなもの。OPはそれもやりたいようでした。
キース

私はKDEを
使っ

そうは言っても、開発パッケージが不足しているように見えるキースに同意します。指定したターゲットのビルド依存関係をインストールするapt-getコマンドがありますが、現時点ではUbuntuシステムも手元にありません。
ゲイリージョン

1
それでも、gtk + GUIビルドが必要だったため、すべてのgtk develパッケージをインストールする必要があります。gnome-develは、それらを取り込むメタパッケージです。これらは、より小さく、gtk固有のものである可能性があります。しかし、今は確認できません。
キース

1

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


0

vimをコンパイルしているときに出力を確認します。私自身はvimをコンパイルしていませんが、gvimに必要なファイルの欠落に関する警告/エラーがいくつかあると確信しています。


残念ながら、何かが足りないと言っても、どのパッケージがそれを提供するのか、提供するライブラリの名前は何なのかはわかりません。
DavidG
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.