[devel] побочные эффекты от расчленения питона

Vitaly Kuznetsov vitty на altlinux.ru
Пт Апр 6 12:04:03 MSK 2012


On Thu, 5 Apr 2012 23:53:37 +0400, Ivan A. Melnikov wrote:
> On Thu, 5 Apr 2012 22:25:58 +0400
> "Dmitry V. Levin" <ldv на altlinux.org> wrote:
> [...]
>>
>> У вашего пакета не останется зависимости на libpython вообще, не
>> говоря уже о set-versions.  Это тот уровень контроля за
>> совместимостью, который не хотелось бы терять.
>>
>
> Это же справедливо и для модулей питона, раз их теперь не линкуют с
> libpython.
>
> Если питон собирается статически, то, зависимость libboost_python от
> libpython столь же неоправдана, как и зависимость любого модуля.
>
> Идея о set-version provides для /usr/bin/python2.7 кажется абсолютным
> безумием.
>
> [...]
>> > Остался только вопрос, как лучше обойти verify_elf:
>> > будет ли специальная ручка для python? Есть ли тонкая настройка, 
>> или
>> > надо, как и раньше, воспользоваться
>> >
>> > %add_verify_elf_skiplist %_libdir/libboost_python*.so.%version
>> >
>> > или
>> >
>> > %set_verify_elf_method strict unresolved=relaxed
>> >
>> > лучше?
>>
>> И так плохо, и сяк нехорошо.  Если говорить о хаках, то для этого
>> пакета, наверное, лучше подойдет
>> export LD_PRELOAD=%_libdir/libpython%__python_version.so
>> в конце секции %install.
> [...]
>
> Честно говря, я шокирован тем, что так можно. Но это действительно
> лучший с точки зрения результата хак для данной задачи. Спасибо.

BTW в Debian с libpython не линкуют, но собирают libboost_python для 
всех имеющихся питонов, т.е. у них получается что-то типа:
libboost_python-py26.so.1.49.0
libboost_python-py27.so.1.49.0
libboost_python-py32.so.1.49.0



Подробная информация о списке рассылки Devel