Nos sistemas Linux, o Vim empacotado normalmente possui apenas um deles python
ou python3
ativado. É possível que ambos estejam ativados (usando python/dyn
e python3/dyn
), mas durante uma sessão, apenas um pode ser usado. Esta discussão na lista de discussão dizia :
Depende de como as bibliotecas Python são construídas. Nos sistemas baseados no Debian (por razões que não me lembro de imediato), eles são construídos de forma que o RTLD_GLOBAL precise ser usado para obter acesso aos símbolos. Isso impede o carregamento de libpython2.xe libpython3.x no mesmo processo.
O que pode ser feito para permitir o carregamento de ambos na mesma sessão?
Opções que eu posso ver:
- Reconstrua os pacotes Python {2,3} para que
RTLD_GLOBAL
(seja o que for) não seja necessário. - De alguma forma, faça com que a biblioteca carregada anteriormente seja descarregada (?!) Pelo Vim. (É mesmo possível?)
Para qualquer detalhe da distribuição, assuma, em ordem crescente de especificidade:
- Baseado no Debian
- Ubuntu
- Ubuntu 14.04
- Ou, Arch Linux, se um sistema baseado no Debian for muito complexo.
Observe que eu tenho o Vim para construir com suporte de carregamento dinâmico para ambos, portanto, criar o Vim não é um problema.