Bug 40939

Summary: Статический билд python3 ломает сборку пакетов, предлагая им линковаться с libpython3.9.a
Product: Sisyphus Reporter: Grigory Ustinov <grenka>
Component: python3Assignee: Grigory Ustinov <grenka>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: blocker    
Priority: P5 CC: aris, george, glebfm, grenka, ilyakurdyukov, imz, iv, ldv, mike, vitty
Version: unstable   
Hardware: x86   
OS: Linux   

Description Grigory Ustinov 2021-09-16 13:52:15 MSK
По мотивам ошибки #40278.
Comment 1 Repository Robot 2021-09-23 22:50:07 MSK
python3-3.9.7-alt2 -> sisyphus:

 Mon Sep 20 2021 Grigory Ustinov <grenka@altlinux> 3.9.7-alt2
 - Bring back static build (thx to ilyakurdyukov@) (Closes: #40939).
Comment 2 Dmitry V. Levin 2021-09-24 12:43:25 MSK
Судя по результатам тестовой пересборки, что-то пошло не так.
Comment 3 Grigory Ustinov 2021-09-24 12:57:15 MSK
(Ответ для Dmitry V. Levin на комментарий #2)
> Судя по результатам тестовой пересборки, что-то пошло не так.

Так это чудесно! Я сломал несколько пакетиков, а не несколько сотен пакетиков.
Comment 4 ilyakurdyukov 2021-09-24 13:04:27 MSK
Не забывайте про флаги, которые ускоряют динамическую библиотеку. Почти эквивалентно static билду (упоминалось в #40278). С этими флагами отстаёт от статика лишь на несколько процентов.

export CFLAGS_NODIST="-fno-semantic-interposition"
export LDFLAGS_NODIST="-fno-semantic-interposition"

И даже со статик билдом следует использовать, так как будет быстрее libpython, что будет использоваться для вызова питона с других языков.
Comment 5 Yuri N. Sedunov 2021-09-25 21:20:55 MSK
(Ответ для Grigory Ustinov на комментарий #3)
> (Ответ для Dmitry V. Levin на комментарий #2)
> > Судя по результатам тестовой пересборки, что-то пошло не так.
> 
> Так это чудесно! Я сломал несколько пакетиков, а не несколько сотен
> пакетиков.

По-умолчанию теперь следует вкомпилячивать libpython.a? Eсли задумывалось иначе --- исправьте.

$ python3 -c 'import sys ; import distutils.sysconfig ; sys.stdout.write(distutils.sysconfig.get_config_var("BLDLIBRARY"))'
libpython3.9.a
Comment 6 Dmitry V. Levin 2021-09-25 22:26:04 MSK
(In reply to Grigory Ustinov from comment #3)
> (Ответ для Dmitry V. Levin на комментарий #2)
> > Судя по результатам тестовой пересборки, что-то пошло не так.
> 
> Так это чудесно! Я сломал несколько пакетиков, а не несколько сотен
> пакетиков.

Эти "несколько пакетиков" сломаны неисправимым образом, поскольку теперь питон предлагает им линковаться с libpython3.9.a.
Comment 7 Grigory Ustinov 2021-09-25 23:39:35 MSK
(Ответ для Dmitry V. Levin на комментарий #6)
> (In reply to Grigory Ustinov from comment #3)
> > (Ответ для Dmitry V. Levin на комментарий #2)
> > > Судя по результатам тестовой пересборки, что-то пошло не так.
> > 
> > Так это чудесно! Я сломал несколько пакетиков, а не несколько сотен
> > пакетиков.
> 
> Эти "несколько пакетиков" сломаны неисправимым образом, поскольку теперь
> питон предлагает им линковаться с libpython3.9.a.

Да я уж и сам заметил, спасибо!
Comment 8 ilyakurdyukov 2021-09-26 05:46:09 MSK
Нужно чтобы файл, где лежит эта настройка - брался из динамической сборки. Сейчас собираются обе, сначала install динамической, затем install статической, тем самым от динамической остаётся .so либа. Надо еще настройку на либу вернуть. Статическая либа удаляется.
Comment 9 Repository Robot 2021-10-02 03:21:38 MSK
python3-3.9.7-alt3 -> sisyphus:

 Fri Oct 01 2021 Grigory Ustinov <grenka@altlinux> 3.9.7-alt3
 - Fix previous change to make python link as shared library (Closes: #40939).
Comment 10 Yuri N. Sedunov 2021-10-09 12:16:25 MSK
Не вышел каменный цветок.

$ python3 -c 'import sys ; import distutils.sysconfig ; sys.stdout.write(distutils.sysconfig.get_config_var("LIBPL"))'
/usr/lib64/python3.9/config-3.9-x86_64-linux-gnu
Comment 11 Grigory Ustinov 2021-10-11 09:06:44 MSK
(Ответ для Yuri N. Sedunov на комментарий #10)
> Не вышел каменный цветок.
> 
> $ python3 -c 'import sys ; import distutils.sysconfig ;
> sys.stdout.write(distutils.sysconfig.get_config_var("LIBPL"))'
> /usr/lib64/python3.9/config-3.9-x86_64-linux-gnu

А какое поведение ожидается?
Comment 12 Grigory Ustinov 2021-10-12 15:46:25 MSK
Так что не работает то? Или закрываем багу?
Comment 13 Grigory Ustinov 2021-10-21 09:13:03 MSK
Видимо всё-таки закрываем.