【发布时间】:2016-04-30 17:25:07
【问题描述】:
我正在尝试在我的 Fedora 23 上使用以下选项构建 vim
我想要一些插件+python +python3 +perl +lua +ruby +gui +conceal +gui。
我找不到所有内置的版本(所以我自己做)
旅程始于关注Valloric
sudo yum install -y ruby ruby-devel lua lua-devel luajit \
luajit-devel ctags git python python-devel \
python3 python3-devel tcl-devel \
perl perl-devel perl-ExtUtils-ParseXS \
perl-ExtUtils-XSpp perl-ExtUtils-CBuilder \
perl-ExtUtils-Embed
我也有ncurses (raw,devel,static,...)
然后
$ cd $HOME/Sources
$ git clone https://github.com/vim/vim.git
$ cd vim
$ ./configure --with-tlib=ncurses \
--with-features=huge \
--enable-fail-if-missing \
--enable-luainterp=yes \
--enable-mzschemeinterp \
--enable-perlinterp \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib64/python2.7/config \
--enable-python3interp=yes \
--enable-tclinterp=yes \
--enable-rubyinterp=yes \
--enable-cscope \
--enable-multibyte \
--enable-gui=auto \
--prefix=$HOME/Build/vim \
--with-compiledby=statquant | tee configure.log
屏幕上打印以下内容:
/home/statquant/Sources/vim/src/config-PyMake3137:1478: warning: overriding recipe for target 'Modules/_math.o'
/home/statquant/Sources/vim/src/config-PyMake3137:1475: warning: ignoring old recipe for target 'Modules/_math.o'
/home/statquant/Sources/vim/src/config-PyMake3137:1517: warning: overriding recipe for target 'Modules/timemodule.o'
/home/statquant/Sources/vim/src/config-PyMake3137:1482: warning: ignoring old recipe for target 'Modules/timemodule.o'
configure: error: NOT FOUND!
You need to install a terminal library; for example ncurses.
Or specify the name of the library with --with-tlib.
然后我
make | tee make.log
我意识到它实际上在 $HOME/Sources/vim/src 而不是 $HOME/Build/vim 中构建了 vim(也许我的预期是错误的)
当我在 ./vim -g 上运行 :version 时(vim 已经构建了 GUI 支持)有
没有 python 没有 python3 ....
configure.log 是 there,make.log 是 there
EDIT1:以下作品,我现在只怀念+perl +ruby
./configure --with-features=huge \
--enable-tclinterp=yes \
--enable-luainterp=yes \
--enable-pythoninterp=yes \
--enable-python3interp=yes \
--with-compiledby=statquant \
--prefix=$HOME/Build/vim \
make install # and yes it installs in $HOME/Build/vim
EDIT2 这是我尝试添加时发生的情况
- +perl
我可以跑
./configure --with-features=huge \
--enable-tclinterp=yes \
--enable-luainterp=yes \
--enable-pythoninterp=yes \
--enable-python3interp=yes \
--enable-perlinterp=yes \
--prefix=$HOME/Build/vim \
--with-compiledby=statquant | tee configure.log
它似乎工作(没有错误):configure.log
make | tee make.log
[...]
cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]
<command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined
<command-line>:0:0: note: this is the location of the previous definition
cc1: some warnings being treated as errors
make[1]: *** [objects/option.o] Error 1
Makefile:2907: recipe for target 'objects/option.o' failed
make[1]: Leaving directory '/home/statquant/Sources/vim/src'
make: *** [first] Error 2
Makefile:26: recipe for target 'first' failed
我没有得到 vim 内置 /home/statquant/Sources/vim/src : make.log
-
+红宝石
./configure --with-features=huge \ --启用-tclinterp=是\ --启用-luainterp=是\ --启用-pythoninterp=是\ --enable-python3interp=是\ --启用-rubyinterp=是\ --prefix=$HOME/Build/vim \ --with-compiledby=statquant |三通配置.log
它甚至不运行configure
checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... no
checking for tgetent in -lncurses... no
checking for tgetent in -ltermlib... no
checking for tgetent in -ltermcap... no
checking for tgetent in -lcurses... no
no terminal library found
checking for tgetent()... configure: error: NOT FOUND!
You need to install a terminal library; for example ncurses.
Or specify the name of the library with --with-tlib.
这里是日志:configure.log
【问题讨论】:
-
如果你不与
CFLAGS混淆,它是否有效,即在没有一次性分配的情况下运行./configure? -
要理解
configure的错误消息,您需要重定向到configure.log的上下文。尝试在不重定向的情况下运行configure以查看哪些特定检查会产生该错误输出。或者只看config.log,它可能包含所有相关信息。 -
每次您解决问题时,问题都会发生变化。这使得几乎不可能提供帮助和奖金彩票。你能发布你收到的错误消息吗?
-
你能发布你最新的 config.log 文件吗?如果您的配置过程与这些标志一起传递并且没有发生错误并且也通过了,那么 +ruby 和 +perl 不可用是很奇怪的。因为这里只有一些标志,FEAT_RUBY 和 FEAT_PERL。一旦在 confdefs.h 中定义为 1,那么 :version 应该将它们显示为 +。
-
你想要最新的 VIM 吗?你为什么要自己建造它?...
标签: vim makefile fedora make-install