[MacPorts] #41344: vim @7.4.052_0+breakindent+huge+python27+python33 - vim breaks with two Python versions

MacPorts noreply at macports.org
Sun Mar 16 19:04:04 PDT 2014


#41344: vim @7.4.052_0+breakindent+huge+python27+python33 - vim breaks with two
Python versions
---------------------+----------------------
  Reporter:  ml@…    |      Owner:  raimue@…
      Type:  defect  |     Status:  assigned
  Priority:  Normal  |  Milestone:
 Component:  ports   |    Version:  2.2.1
Resolution:          |   Keywords:
      Port:  vim     |
---------------------+----------------------

Comment (by code@…):

 I am currently on Mac OS 10.9.2 and Xcode 5.1 (Build version 5B130a
 according to `xcodebuild -version`).

 For the sake of clarity:
 {{{
 $ port echo requested
 py27-pip                       @1.5.4_0
 py27-virtualenvwrapper         @4.0_0
 py33-pip                       @1.5.4_0
 py33-virtualenvwrapper         @4.0_0
 python27                       @2.7.6_0
 python33                       @3.3.5_0
 vim
 @7.4.052_0+breakindent+cscope+huge+python27+python33
 }}}

 It was not immediately apparent to me how to apply the patch. For the
 benefit of others:
 {{{
 $ sudo port uninstall vim
 $ cd
 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/editors/vim/files
 $ sudo curl -O https://trac.macports.org/raw-attachment/ticket/41344/vim-
 python-linkage.diff
 $ sudo patch < vim-python-linkage.diff
 $ sudo rm vim-python-linkage.diff
 $ sudo port install -s vim +breakindent +cscope +huge +python27 +python33
 }}}

 I started without a `.vimrc` or `.vim/` bundle directory. Starting `vim`
 and entering the following results in a segfault.
 {{{
 :py print "Hello"
 :py3 print("Bonjour")
 }}}

 Specifically, the terminal prints:
 {{{
 Vim: Caught deadly signal SEGV
 Vim: Finished.
 Segmentation fault: 11
 }}}

 However, the following runs absolutely fine:
 {{{
 :py3 print("Bonjour")
 :py print "Hello"
 :py3 print("Konichiwa")
 }}}

 What's more, after running the commands above, I am able to see the
 following:
 {{{
 :python print sys.prefix
 /opt/local/Library/Frameworks/Python.framework/Versions/2.7
 :python3 print(sys.prefix)
 /opt/local/Library/Frameworks/Python.framework/Versions/3.3
 }}}

 I rebuilt my `.vimrc` file, checking the commands and bundles as I went.
 None of the native settings or commands I use in `vim` caused any
 problems. The only (`vundle`) package that caused problems was
 `Lokaltog/powerline`, which caused any command to `:py3` to segfault as
 above. The rest of my bundles (below) work fine.

 * gmarik/vundle
 * scrooloose/nerdtree
 * ervandew/supertab
 * tpope/vim-fugitive
 * scrooloose/syntastic
 * davidhalter/jedi-vim
 * vim-scripts/django.vim

 Notably, `jedi-vim` caused no issue, but I was unable to test whether it
 was using omnicompletion for Python version 2 or 3. I would love help
 here: is there a command that will tell me which Python version is loaded?
 `has()` will attempt to dynamically load Python, and is not useful in this
 context.

 The behaviors described above are erratic and undesirable. I'm
 increasingly under the impression that this is not a MacPorts problem, and
 much more a `vim` problem. Is the version of `vim` being used in MacPorts
 the Unix version, or one of the Mac OS X flavors? Essentially: who should
 I go to with this bug?

-- 
Ticket URL: <https://trac.macports.org/ticket/41344#comment:6>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list