У системах Linux упакований Vim, як правило, має лише один з python
або python3
включений. Можна ввімкнутиpython/dyn
і обидва ( і з використанням python3/dyn
), але під час сеансу можна використовувати лише один. У цій дискусії зі списку розсилки було сказано :
Це залежить від побудови бібліотек Python. У системах, що базуються на Debian (з причин, які я не згадую назовні), вони побудовані таким чином, що RTLD_GLOBAL потрібно використовувати для отримання доступу до символів. Це запобігає завантаженню як libpython2.x, так і libpython3.x в одному процесі.
Що можна зробити, щоб дозволити завантаження обох в одному сеансі?
Параметри, які я бачу:
- Перебудуйте пакети Python {2,3} так, що
RTLD_GLOBAL
(як би там не було) не потрібно. - Якось завантажуйте бібліотеку, яку раніше завантажував, щоб вивантажити (?!) Vim. (Це навіть можливо?)
Для будь-яких деталей дистрибутива, припустимо, у порядку збільшення специфічності:
- На основі Debian
- Ubuntu
- Ubuntu 14.04
- Або Arch Arch, якщо система на базі Debian занадто складна.
Зауважте, що я отримав Vim для створення динамічної підтримки завантаження для обох, тому створення Vim не є проблемою.