在非标准路径配置中使用静态链接的python支持编译vim

时间:2016-10-28 18:23:47

标签: python c gcc vim

我目前正在尝试使用特别奇特的设置在Fedora 20计算机上编译vim

  • 无权访问
  • python2python3~/.local中手动编译并安装正确工作(导出PATHLD_LIBRARY_PATH后)。
  • zsh作为shell
  • gcc版本4.8.3 20140911 (Red Hat 4.8.3-7) (GCC)

如果我将编译过程配置为:

./configure --with-features=huge --enable-pythoninterp --enable-python3interp --prefix=$HOME/.local

然后make && make installvim使用+python/dyn +python3/dyn正确编译。

vim --version | grep python
+cryptv          +linebreak       +python/dyn      +vreplace
+cscope          +lispindent      +python3/dyn     +wildignore

但是,在vim内部,:echo has('python')会返回0(以及MatchTagAlways对此事实抱怨......)。

所以我告诉自己,让我们尝试强制静态链接安装:

export LDFLAGS=-static
./configure --with-features=huge --enable-pythoninterp --enable-python3interp --prefix=$HOME/.local

在配置命令之后稍微结束:

configure: creating cache auto/config.cache
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/students/rm_16_17/dibattista/build/vim/src':
configure: error: C compiler cannot create executables
See `config.log' for more details

Here完整configure.log。相关的行应该是:

configure:3027: gcc   -static conftest.c  >&5
/usr/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status

我无法真正解密。似乎gcc没有-static标志。这是问题吗?

1 个答案:

答案 0 :(得分:1)

最后,在编译Python以将其编译为共享库--enable-shared时,我遗漏的是一个标志。

作为余数:始终阅读所有INSTALL指令:)