I've tried

    ./configure --enable-pythoninterp --enable-python3interp

on Linux From Scratch with python 2.7 and python 3.2 both compiled with --enable-shared.

I would have expected both to work in one instance of vim, but the same messages came up.

    E836: This Vim cannot execute :python after using :py3
    E837: This Vim cannot execute :py3 after using :python

I had a look at auto/config.log and it showed that both could do without RTLD_GLOBAL.
On the other hand auto/config.h only had

#define PY_NO_RTLD_GLOBAL 1

It turns out that an according #undef needs to be in config.h.in.
I've added it for python 3, then a vim instance worked with both :python and :py3.
The patch is attached.

Regards,
    Roland

--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
*** config.h.in 2011-08-29 19:01:36.000000000 +0200
--- ../../vim-7.3.289/src/config.h.in   2011-08-29 23:38:43.000000000 +0200
***************
*** 346,351 ****
--- 346,354 ----
  /* Define if dynamic python does not require RTLD_GLOBAL */
  #undef PY_NO_RTLD_GLOBAL
  
+ /* Define if dynamic python does not require RTLD_GLOBAL */
+ #undef PY3_NO_RTLD_GLOBAL
+ 
  /* Define if you want to include the Ruby interpreter. */
  #undef FEAT_RUBY
  

Raspunde prin e-mail lui