【问题标题】:Compile Vim with Python support on OS X在 OS X 上使用 Python 支持编译 Vim
【发布时间】:2011-11-11 11:15:58
【问题描述】:

我从 Vim 的src 目录开始

$ pwd
~/vim/src
$ ./configure \
> --prefix=$HOME/Applications/vim-compiled \
> --enable-rubyinterp=yes \
> --enable-pythoninterp=yes \
> --with-python-config-dir=/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config
$ make

make 结尾出现以下错误

ld: warning: in /Library/Frameworks//Python.framework/Python, missing required architecture x86_64 in file
Undefined symbols:
<very long list of Undefined symbols>
...
...
...
<very long list of Undefined symbols>
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [vim] Error 1

是什么导致了错误?我在建议使用 MacPorts、Homebrew 或 MacVim 的类似问题中找到了答案。我不想使用其中任何一个。有没有其他办法?

更新:这是列出Undefined symbolshttp://pastebin.com/ggV87ReF的输出

【问题讨论】:

  • 为什么不选择 MacPorts/Homebrew/MacVim? MacVim 很可能是最直接的解决方案。
  • @romainl,我不想要 MacVim,因为我更喜欢在终端中工作。我不想要 MacPorts/Homebrew,因为我的 Python 安装已经使用 Python.org 的安装程序进行了设置。或者简单地说,我正在努力保持我的安装干净。
  • MacVim 的应用程序包中有一个 CLI Vim 可执行文件,它可以与 Mac 上的任何 Python/Ruby 一起使用,而无需调整/更新任何东西。这就是我 10 个月以来一直在使用的东西,尽管多次更改了活动的 Python/Ruby 版本,我也不必重新编译 Vim。
  • 你真的应该用自制软件安装 macvim。只需将其别名为 vim。 "alias vim='mvim -v'" 将使其行为符合您的预期。
  • 我很高兴得知您解决了您的问题,但正如我所说,您不需要编译任何东西:MacVim.app 与 CLI Vim (.../MacVim. app/Content/MacOS/vim) 将适用于您机器上已经存在或未来的任何 Python 版本。只需下载 .app,为您的 ~/.profile 添加别名即可。

标签: python macos vim compilation


【解决方案1】:

就我而言,我使用以下命令在 10.6.8 上安装了 MacVim ./configure --prefix=/usr --enable-perlinterp=yes --enable-pythoninterp=yes --with-features=huge --with-python-config-dir=/System/Library/Frameworks/Python.framework/Versions/2.6

sudo make

【讨论】:

    【解决方案2】:

    您是否尝试过升级到 Python 2.7.2 的 OSX 32 位/64 位版本?我不确定是否有特定的 64 位 2.7 版本,这可能会导致问题。

    【讨论】:

      【解决方案3】:

      查看用于 vim(或 macvim)的 Homebrew 配方,并在必要时对其进行修改。 https://github.com/mxcl/homebrew

      【讨论】:

      • 我不确定你的意思。您提供的链接没有任何 Python 引用。
      • 查看this part 的 MacVim 配方,了解 Python 特定的调整。
      • 感谢@romainl,我尝试使用./configure 选项,但仍然遇到同样的错误。我认为这与missing required architecture x86_64 in file 有关
      • 是的,这很明显。但是,如果您的 Python 按原样工作,我不知道您可以对它做什么。你的机器是 64 位还是 32 位?你的 Python 编译为 64 位还是 32 位?它是 Apple 提供的默认 Python(我认为是的)吗?您是否尝试过安装另一个 Python(通过 MacPorts 或其他方式)?
      猜你喜欢
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 2011-09-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 2014-01-31
      相关资源
      最近更新 更多