Summary: | Сломалась сборка пакета libschroedinger | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | AEN <aen> |
Component: | libschroedinger | Assignee: | manowar <manowar> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | ldv, manowar |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
AEN
2019-02-07 19:51:45 MSK
Хорошо. В пакете используется libtool -export-symbols-regex, который никогда не работал для C++. Когда я починил libtool, libschroedinger-1.0.so.0 починился, но его тесты пытаются использовать символы, которые больше не экспортируются. (В ответ на комментарий №2) > В пакете используется libtool -export-symbols-regex, который никогда не работал > для C++. Когда я починил libtool, libschroedinger-1.0.so.0 починился, но его > тесты пытаются использовать символы, которые больше не экспортируются. Спасибо. Я попробовал сделать вот так: - -export-symbols-regex '^schro_' + -export-symbols-regex '\(^schro_\|interleave2\)' Но теперь огребаю вот так: 2: syntax error in VERSION script collect2: error: ld returned 1 exit status А, дошло. Просто там нормальный синтаксис регулярных выражений. Внезапно. После вот такого: - -export-symbols-regex '^schro_' + -export-symbols-regex '(^schro_|interleave2)' Всё собирается. Но testsuite/wavelet_2d сегфолтится. После - -export-symbols-regex '^schro_' + -export-symbols-regex '^(schro_|_orc_code_orc_)' всё полегчало совсем — собирается и тесты проходят. Однако, у меня вопрос: это нормально, что линковка проходит без ошибок на undefined symbols, gdb видит символ, но сама программа разыменовывает его как NULL? Потому что с предыдущей регуляркой было вот так: 612 printf ("1: c = %p, _orc_ = %p\n", c, _orc_code_orc_mas4_horiz_sub_s16_1991_ip); (gdb) p _orc_code_orc_mas4_horiz_sub_s16_1991_ip $5 = (OrcCode *) 0x807aeb0 (gdb) n 1: c = (nil), _orc_ = (nil) 613 c = _orc_code_orc_mas4_horiz_sub_s16_1991_ip; (gdb) n 614 printf ("2: c = %p, _orc_ = %p\n", c, _orc_code_orc_mas4_horiz_sub_s16_1991_ip); (gdb) n 2: c = (nil), _orc_ = (nil) libschroedinger-1.0.11-alt2 -> sisyphus: Fri Feb 08 2019 Paul Wolneykien <manowar@altlinux> 1.0.11-alt2 - Added patch to export _orc_code_orc_* symbols along with schro_* (closes #36058). Спасибо! |