8

我正在尝试在 Ubuntu 上使用 python 解释器从源代码编译 vim。我已经安装了 vim 的依赖项,在 Ubuntu 上安装了 python2.7-devel 和 python2.7-dbg 包,并像这样执行配置步骤

./configure --enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config

config 目录确实包含 config.c 文件。make 步骤失败并出现以下错误。

...

objects/py_config.o:(.data+0xcc): undefined reference to `initcStringIO'
objects/py_config.o:(.data+0xd4): undefined reference to `initcPickle'
objects/py_config.o:(.data+0xdc): undefined reference to `initzlib'
collect2: ld returned 1 exit status
make: *** [vim] Error 1

我已经尝试过稳定的构建,围绕配置等进行了调整。但没有找到明确的答案。vim 也可以在没有 python 解释器的情况下构建。

这里完整

输出 - http://paste.pocoo.org/show/577749/

错误 - http://paste.pocoo.org/show/577752/

Makefile - http://paste.pocoo.org/show/577751/

4

3 回答 3

3

在进行了大量研究后回答我自己的问题。在某些 Ubuntu 安装中,vim 正在寻找编译的文件可能会丢失

在意识到我继续自定义安装 Python 源 ( ./configure --prefix=/home/senthil/localpython; make; make install) 之后,然后继续进行 vim 编译。

  1. 设置您的路径,使其python指向新的本地安装。

    PATH=/home/senthil/localpython/bin:$PATH

  2. 然后使用以下标志开始编译。

    ./configure --enable-pythoninterp --with-features=huge --with-python-config-dir=/home/senthil/localpython/lib/python2.7/config

您应该看到 vim 使用本地 python 解释器编译得很好。正如各种消息来源所告知的那样,这增​​加了 vim 的大小,我也觉得速度明显变慢了。刚刚完成这个练习(以一种非常有耐心的方式),我想,我想使用系统编译的vim本身。

于 2012-04-15T04:28:56.950 回答
3

获取配置目录/usr/bin/python2.7-config --configdir

IE:

sudo apt-get build-dep vim 
hg clone https://vim.googlecode.com/hg/ vim
./configure --enable-pythoninterp --with-features=huge --prefix=$HOME/opt/vim --with-python-config-dir=$(/usr/bin/python2.7-config --configdir)
make && make install
于 2013-05-26T18:45:47.523 回答
2

在编译 Vim 之前,安装python-devpython2.7-dev(或任何与你的 python 版本匹配的开发者)。这两个包可能指向相同的文件,但它对我有用。

于 2012-07-25T13:18:26.090 回答