分页: 1 / 1
如何成功编译VIM支持lua
发表于 : 2016-08-07 21:08
由 zfovly216
安装参考的帖子:
http://www.jianshu.com/p/3e0c242310d3
已安装的依赖如下:
代码: 全选
sudo apt-get install \
python-dev \
python3-dev \
ruby-dev \
liblua5.2-dev \
liblua5.3-dev \
libperl-dev \
libtcl8.6 \
libgnomeui-dev \
libx11-dev \
libxt-dev \
libxpm-dev
使用的命令如下:
代码: 全选
$ ./configure \ [20:58:26]
--prefix=/usr/local/ \
--with-features=huge \
--enable-multibyte \
--enable-cscope=yes \
--enable-perlinterp=yes \
--enable-rubyinterp=yes \
--with-ruby-command=/usr/bin/ruby \
--enable-luainterp=yes \
--enable-pythoninterp=yes \
--enable-python3interp=yes \
--enable-tclinterp=yes \
--enable-gui=auto \
--enable-gnome-check \
--enable-sniff \
--enable-xim \
--enable-fontset \
--with-x \
--with-compiledby=$USER \
--enable-fail-if-missing
提示报错如下:
代码: 全选
checking --with-lua-prefix argument... no
checking LUA_PREFIX environment var... not set, default to /usr
checking --with-luajit... no
checking for lua... no
checking if lua.h can be found in /usr/include... no
checking if lua.h can be found in /usr/include/lua... no
configure: error: could not configure lua
实际lua.h的位置在/usr/include/lua5.3/或/usr/include/lua5.2/,就算把/usr/include/lua5.3复制为/usr/include/lua,成功找到lua.h,还是会继续报错:
代码: 全选
checking if link with -L/usr/lib -llua is sane... no
于是不知道怎么办好了……
Re: 如何成功编译VIM支持lua
发表于 : 2016-08-07 21:48
由 astolia
直接安裝vim-nox/vim-gtk/vim-gtk3就有lua支持了
代码: 全选
$ vim.nox --version | grep lua
+dialog_con +lua +rightleft +windows
Linking: gcc -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim -lm -ltinfo -lnsl -lselinux -lacl -lattr -lgpm -ldl -L/usr/lib -llua5.2 -Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.22/CORE -lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -l
Re: 如何成功编译VIM支持lua
发表于 : 2016-08-07 22:05
由 lilydjwg
如果你用最新的 Vim 源码还是报错,可以去提交一下 bug 报告。
当然,先看一下 config.log 确认一下确实是 Vim 的构建系统没有找到头/库文件,而不是别的什么问题。
Re: 如何成功编译VIM支持lua
发表于 : 2016-08-09 10:07
由 zfovly216
astolia 写了:直接安裝vim-nox/vim-gtk/vim-gtk3就有lua支持了
代码: 全选
$ vim.nox --version | grep lua
+dialog_con +lua +rightleft +windows
Linking: gcc -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim -lm -ltinfo -lnsl -lselinux -lacl -lattr -lgpm -ldl -L/usr/lib -llua5.2 -Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.22/CORE -lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu -lpython3.5m -lpthread -ldl -lutil -lm -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-2.3 -lpthread -lgmp -ldl -lcrypt -l
很少用带GUI的VIM,而且自己编译想要什么支持都可以实现,某种程度更加方便点
Re: 如何成功编译VIM支持lua
发表于 : 2016-08-09 10:17
由 zfovly216
lilydjwg 写了:如果你用最新的 Vim 源码还是报错,可以去提交一下 bug 报告。
当然,先看一下 config.log 确认一下确实是 Vim 的构建系统没有找到头/库文件,而不是别的什么问题。
源码足够新了
代码: 全选
commit 7547a78446c1a3c04b36c0533f0f046188bd378b
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Aug 8 23:26:51 2016 +0200
patch 7.4.2187
Problem: glob2regpat test fails on Windows.
Solution: Remove the checks that use backslashes.
的确是找不到头文件与库文件,上面也贴了
代码: 全选
checking --enable-luainterp argument... yes
checking --with-lua-prefix argument... no
checking LUA_PREFIX environment var... not set, default to /usr
checking --with-luajit... no
checking for lua... no
checking if lua.h can be found in /usr/include... no
checking if lua.h can be found in /usr/include/lua... no
configure: error: could not configure lua
我发个issues问问
Re: 如何成功编译VIM支持lua
发表于 : 2016-08-09 15:51
由 zfovly216
lilydjwg 写了:如果你用最新的 Vim 源码还是报错,可以去提交一下 bug 报告。
当然,先看一下 config.log 确认一下确实是 Vim 的构建系统没有找到头/库文件,而不是别的什么问题。
开发者也没有什么好办法,最后各种软链接解决了。
再问一下编译好带有python支持了(+python/dyn,+python3/dyn),为什么还会提示:Error: Required vim compiled with +python
Re: 如何成功编译VIM支持lua
发表于 : 2016-08-09 17:28
由 lilydjwg
zfovly216 写了:lilydjwg 写了:如果你用最新的 Vim 源码还是报错,可以去提交一下 bug 报告。
当然,先看一下 config.log 确认一下确实是 Vim 的构建系统没有找到头/库文件,而不是别的什么问题。
开发者也没有什么好办法,最后各种软链接解决了。
再问一下编译好带有python支持了(+python/dyn,+python3/dyn),为什么还会提示:Error: Required vim compiled with +python
加载失败了?没有报错说加载失败什么的么?
Re: 如何成功编译VIM支持lua
发表于 : 2016-08-09 17:46
由 zfovly216
lilydjwg 写了:
加载失败了?没有报错说加载失败什么的么?
查了一下是说如果vim要同时支持python和python3,那么只会在同一时间动态加载其中一个,不知道是根据什么来决定的,反正每次加载的都是python3,后来在编译的时候把python3的支持去掉了就好了
Re: 如何成功编译VIM支持lua
发表于 : 2016-08-09 17:47
由 zfovly216
lilydjwg 写了:如果你用最新的 Vim 源码还是报错,可以去提交一下 bug 报告。
当然,先看一下 config.log 确认一下确实是 Vim 的构建系统没有找到头/库文件,而不是别的什么问题。
实际上正确的方法是安装lua5.2,而不仅仅是liblua5.2-dev,configure脚本会使用lua命令来检查lua的版本以及头文件和库文件的路径,会自动修正问题。
Re: 如何成功编译VIM支持lua
发表于 : 2016-08-09 21:35
由 lilydjwg
zfovly216 写了:lilydjwg 写了:
加载失败了?没有报错说加载失败什么的么?
查了一下是说如果vim要同时支持python和python3,那么只会在同一时间动态加载其中一个,不知道是根据什么来决定的,反正每次加载的都是python3,后来在编译的时候把python3的支持去掉了就好了
是根据操作系统来决定的。Arch Linux 上的 Vim 可以同时支持 Python 2 和 3。Ubuntu 上的只能支持先被加载的那个,因为它的 Python 编译时没有加 --enable-shared。
Re: 如何成功编译VIM支持lua
发表于 : 2016-08-09 21:36
由 lilydjwg
zfovly216 写了:lilydjwg 写了:如果你用最新的 Vim 源码还是报错,可以去提交一下 bug 报告。
当然,先看一下 config.log 确认一下确实是 Vim 的构建系统没有找到头/库文件,而不是别的什么问题。
实际上正确的方法是安装lua5.2,而不仅仅是liblua5.2-dev,configure脚本会使用lua命令来检查lua的版本以及头文件和库文件的路径,会自动修正问题。
原来是这样……Arch Linux 用户从来没遇到过这种问题。
Re: 如何成功编译VIM支持lua
发表于 : 2016-08-10 15:52
由 zfovly216
lilydjwg 写了:zfovly216 写了:lilydjwg 写了:
加载失败了?没有报错说加载失败什么的么?
查了一下是说如果vim要同时支持python和python3,那么只会在同一时间动态加载其中一个,不知道是根据什么来决定的,反正每次加载的都是python3,后来在编译的时候把python3的支持去掉了就好了
是根据操作系统来决定的。Arch Linux 上的 Vim 可以同时支持 Python 2 和 3。Ubuntu 上的只能支持先被加载的那个,因为它的 Python 编译时没有加 --enable-shared。
是这样吗?我看vim的manual不是这么写得,貌似跟python与python3的符号表怎么的有关,导致同一时间只能加载一个。Arch上echo has('python')和echo has('python3')都是1么?
Re: 如何成功编译VIM支持lua
发表于 : 2016-08-10 20:38
由 lilydjwg
我记得是这样的。
Arch 官方编译的我不太清楚。我的 vim-lily / gvim-lily 是两个都能同时加载的。曾经我也在 Ubuntu 上自行编译 Python 和 Vim 来同时支持过两者。
Re: 如何成功编译VIM支持lua
发表于 : 2016-08-11 8:54
由 zfovly216
lilydjwg 写了:我记得是这样的。
Arch 官方编译的我不太清楚。我的 vim-lily / gvim-lily 是两个都能同时加载的。曾经我也在 Ubuntu 上自行编译 Python 和 Vim 来同时支持过两者。
厉害[emoji1303]
从我的 iPhone 发送,使用 Tapatalk