Bug 25085

Summary: sysconfig.get_python_lib() возвращает /usr/lib/ on x86_64
Product: Sisyphus Reporter: Sergey V Turchin <zerg>
Component: python-devAssignee: Vladimir D. Seleznev <vseleznv>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: cow, george, glebfm, imz, real.altlinux.org, vseleznv
Version: unstable   
Hardware: all   
OS: Linux   

Description Sergey V Turchin 2011-02-14 18:16:58 MSK
sysconfig.get_python_lib() возвращает /usr/lib/python2.6/site-packages на x86_64
Comment 1 real@altlinux.org 2011-02-14 18:48:02 MSK
Оно ещё где-то с пол-года назад обсуждалось. Правда, не помню, где именно, может быть, и здесь, в самой багзилле.

Проблем в том, что непонятно, что эта функция должна возвращать: по идее, на x86_64 получается "раздвоение личности" у питона: часть его лежит в /usr/lib, часть в /usr/lib64, и если функция будет возвращать /usr/lib64/python2.6/site-packages, нельзя поручиться, что ничего не будет сломано (кто-то может искать нужные модули именно в %_libexecdir).

Короче, здесь нужно привлекать к разговору тех, кто упаковал python, раскидав его во разным каталогам (из-за noarch).
Comment 2 Sergey V Turchin 2011-02-14 18:55:14 MSK
Ок. У меня софтина при сборке таким образом определяет, куда класть Module.so .
Захакаю тогда.
Comment 3 Dmitry V. Levin 2011-02-14 20:43:54 MSK
(In reply to comment #0)
> sysconfig.get_python_lib() возвращает /usr/lib/python2.6/site-packages на
> x86_64

У этой функции 3 необязательных аргумента, и, если передан plat_specific == 1, то на x86-64 она вернет /usr/lib64/...

(In reply to comment #2)
> Ок. У меня софтина при сборке таким образом определяет, куда класть Module.so .
> Захакаю тогда.

Надо пропатчить софтину, чтобы она вызывала get_python_lib() правильно.
Comment 4 real@altlinux.org 2011-02-14 21:34:50 MSK
Точно. И ведь сам же какие-то пакеты правил на сей предмет, а сейчас какая-то амнезия приключилась...
Comment 5 Sergey V Turchin 2011-02-15 14:38:49 MSK
(В ответ на комментарий №3)
> Надо пропатчить софтину, чтобы она вызывала get_python_lib() правильно.
Это конфигурирование перед сборкой
http://git.altlinux.org/people/zerg/packages/?p=avogadro.git;a=blob;f=avogadro/libavogadro/src/python/CMakeLists.txt;hb=HEAD

, т.е. и хак сойдет
http://git.altlinux.org/people/zerg/packages/?p=avogadro.git;a=commitdiff;h=1ac39a2d0934d5f023029372785bb13a1fa4e834