W systemach Linux spakowany Vim zazwyczaj ma tylko jeden z nich python
lub jest python3
włączony. Możliwe jest włączenie obu (za pomocą python/dyn
i python3/dyn
), ale podczas sesji można użyć tylko jednego. W tej dyskusji na liście mailowej napisano :
Zależy to od sposobu budowania bibliotek Pythona. W systemach opartych na Debianie (z powodów, których nie pamiętam od razu), są one zbudowane w taki sposób, że RTLD_GLOBAL musi być użyty, aby uzyskać dostęp do symboli. Zapobiega to ładowaniu zarówno libpython2.x, jak i libpython3.x w tym samym procesie.
Co można zrobić, aby umożliwić ładowanie obu w tej samej sesji?
Opcje, które widzę:
- Przebuduj pakiety Python {2,3}, aby
RTLD_GLOBAL
(cokolwiek to może być) nie było potrzebne. - Jakimś sposobem wcześniej załaduj bibliotekę, aby została zwolniona (?!) Przez Vima. (Czy to w ogóle możliwe?)
W przypadku jakichkolwiek szczegółów dystrybucji załóż, w kolejności rosnącej specyficzności:
- Oparty na Debianie
- Ubuntu
- Ubuntu 14.04
- Lub Arch Linux, jeśli system oparty na Debianie jest zbyt skomplikowany.
Zauważ, że mam Vima do zbudowania z obsługą dynamicznego ładowania dla obu, więc budowanie Vima nie stanowi problemu.