Summary: | FTBFS on armh | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Dmitry V. Levin <ldv> |
Component: | llvm9.0 | Assignee: | Valery Inozemtsev <shrek> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | blocker | ||
Priority: | P5 | CC: | aen, cas, darktemplaralt, lav, legion, sbolshakov, sin |
Version: | unstable | ||
Hardware: | arm | ||
OS: | Linux |
Description
Dmitry V. Levin
2020-08-09 16:48:13 MSK
Может быть, это будет полезно: https://fedora.pkgs.org/31/fedora-updates-armhfp/llvm-9.0.1-6.fc31.armv7hl.rpm.html llvm 9.0 нужно удалить (я уже давно пытаюсь это сделать), все что с ним собрано, пересобрать с llvm 10.0 (In reply to Valery Inozemtsev from comment #2) > llvm 9.0 нужно удалить (я уже давно пытаюсь это сделать), все что с ним > собрано, пересобрать с llvm 10.0 Пока что удаление llvm 9.0 очень далеко от завершения: $ grep -Fw llvm9.0-9.0.1-alt3.src.rpm ALT/Sisyphus/files/list/bin.list |cut -f1 |sort -u |join -11 -22 -o2.1 - beehive/stats/Sisyphus-x86_64/ufb-2 |sort -u |grep -v ^llvm9 |wc -l 502 Другими словами, более полутысячи пакетов ещё используют этот llvm для сборки. не совсем так 2020-Aug-10 14:12:13 :: test-only task #256117 for sisyphus started by shrek: 2020-Aug-10 14:12:13 :: message: Deprecadet!!!_use_llvm10.0 #100 delete llvm9.0 [...] ACLs of affected packages (9): afl manowar darktemplar bpftrace vt @everybody castxml darktemplar @everybody ghc8.6.4 sin @everybody gnome-builder aris gnustep-dbuskit lakostis @everybody python-module-PySide2 cas @everybody python3-module-PySide2 cas @everybody qt5-tools zerg самое время заняться исправлением этих 9-ти пакетов. чинить сборку llvm 9.0 вообще смысла не вижу, да и сборочницы на armh у меня нет Сборочница armh у Вас есть. Она поднимается на любом одноплатнике aarch64. Но, возможно, проще пересобрать эти пакеты. (Ответ для AEN на комментарий #5) > Сборочница armh у Вас есть. Она поднимается на любом одноплатнике aarch64. есть, точнеее были. целых два. но сейчас они оба выключены и физического доступа к ним у меня нет > Но, возможно, проще пересобрать эти пакеты. конечно проще, хотя бы для того что бы не делать работу на выброс (Ответ для Valery Inozemtsev на комментарий #4) > castxml darktemplar @everybody > > самое время заняться исправлением этих 9-ти пакетов. чинить сборку llvm 9.0 > вообще смысла не вижу, да и сборочницы на armh у меня нет А с castxml что-то не так? Насколько мне известно, с пересборкой проблем нет. (In reply to Aleksei Nikiforov from comment #7) > А с castxml что-то не так? Насколько мне известно, с пересборкой проблем нет. $ rpmquery -Rp /ALT/Sisyphus/files/SRPMS/castxml-0.3.4-alt1.src.rpm |grep -E '^(clang|llvm)' llvm-devel llvm-devel-static clang-devel clang-devel-static Однако в сборочной среде этого пакета нет llvm10, но есть llvm9. Выводы делайте сами. (Ответ для Dmitry V. Levin на комментарий #8) > Однако в сборочной среде этого пакета нет llvm10, но есть llvm9. > Выводы делайте сами. потому что наш чудный apt считает что у пакета llvm9.0-devel-9.0.1-alt3 (который провайдит llvm-devel-9.0.1-alt3) версия выше чем у пакета llvm10.0-devel-10.0.0-alt2 (который провайдит llvm-devel-10.0.0-alt2) (In reply to Valery Inozemtsev from comment #9) > (Ответ для Dmitry V. Levin на комментарий #8) > > Однако в сборочной среде этого пакета нет llvm10, но есть llvm9. > > Выводы делайте сами. > > потому что наш чудный apt считает что у пакета llvm9.0-devel-9.0.1-alt3 > (который провайдит llvm-devel-9.0.1-alt3) версия выше чем у пакета > llvm10.0-devel-10.0.0-alt2 (который провайдит llvm-devel-10.0.0-alt2) Вы не можете поменять поведение apt задним числом. Не хотели сделать так, как в gcc - страдайте. (Ответ для Dmitry V. Levin на комментарий #10) > Не хотели сделать так, как в gcc llvm не gcc, апстрим не предполагает иметь одновременно несколько версий девел пакетов (как минимум хидеры пересекаются). а вот иметь предсказуемое поведение apt'а очень бы хотелось > - страдайте. страдайте (In reply to Valery Inozemtsev from comment #11) > (Ответ для Dmitry V. Levin на комментарий #10) > > Не хотели сделать так, как в gcc > > llvm не gcc, апстрим не предполагает иметь одновременно несколько версий > девел пакетов (как минимум хидеры пересекаются). а вот иметь предсказуемое > поведение apt'а очень бы хотелось Апстриму llvm вообще пофиг. Если мы собираем llvm в репозиторий, то это наша задача - обеспечить, чтобы у нас работало так, как надо нам. > страдайте Мантейнер не имеет права давать такой ответ. (In reply to Dmitry V. Levin from comment #8) > (In reply to Aleksei Nikiforov from comment #7) > > А с castxml что-то не так? Насколько мне известно, с пересборкой проблем нет. > > $ rpmquery -Rp /ALT/Sisyphus/files/SRPMS/castxml-0.3.4-alt1.src.rpm |grep -E > '^(clang|llvm)' > llvm-devel > llvm-devel-static > clang-devel > clang-devel-static > > Однако в сборочной среде этого пакета нет llvm10, но есть llvm9. > Выводы делайте сами. Если вы прибьёте туда clang10/llvm10/lld10, то не соберётся: https://lists.altlinux.org/pipermail/sisyphus-incominger/2020-August/579067.html > it blocks rebuild (with libffi.so.7 instead of libffi.so.6)
It's linux (c)
(In reply to Michael Shigorin from comment #14) > > it blocks rebuild (with libffi.so.7 instead of libffi.so.6) > It's linux (c) Нет, это перекладывание проблем поддержки нишевых архитектур на мантейнеров популярных архитектур. (Ответ для Dmitry V. Levin на комментарий #12) > как надо нам. непредсказуемое поведение apt'а это так надо нам? > > страдайте > > Мантейнер не имеет права давать такой ответ. тогда ждите когда мантейнер сделает "как в gcc" (In reply to Valery Inozemtsev from comment #16) > (Ответ для Dmitry V. Levin на комментарий #12) > > как надо нам. > > непредсказуемое поведение apt'а это так надо нам? Оно вполне предсказуемое: когда не указана версия, apt выбирает того провайдера, имя которого лексикографически круче. На это поведение многое было раньше завязано, когда gcc собирался по прежней схеме. > > > страдайте > > > > Мантейнер не имеет права давать такой ответ. > > тогда ждите когда мантейнер сделает "как в gcc" Когда примерно наступит этот празник? (Ответ для Dmitry V. Levin на комментарий #17) > (In reply to Valery Inozemtsev from comment #16) > > (Ответ для Dmitry V. Levin на комментарий #12) > > > как надо нам. > > > > непредсказуемое поведение apt'а это так надо нам? > > Оно вполне предсказуемое: когда не указана версия, apt выбирает того > провайдера, имя которого лексикографически круче. На это поведение многое > было раньше завязано, когда gcc собирался по прежней схеме. > > > > > страдайте > > > > > > Мантейнер не имеет права давать такой ответ. > > > > тогда ждите когда мантейнер сделает "как в gcc" > > Когда примерно наступит этот празник? хз. врапер тупо берется из gcc-common, надо только хидеры по подкаталагам раскидать и научить его лазить в нужные места. но это никак не поможет собраться llvm9.0 на armh (Ответ для Dmitry V. Levin на комментарий #13) > Если вы прибьёте туда clang10/llvm10/lld10, то не соберётся: > https://lists.altlinux.org/pipermail/sisyphus-incominger/2020-August/579067. > html А вот это уже должно собраться, если собирать и с llvm10.0: http://git.altlinux.org/people/darktemplar/packages/?p=castxml.git;a=commitdiff;h=159f593751e9731e252596cea6a9ac7301aaf6ce (Ответ для Aleksei Nikiforov на комментарий #19) > (Ответ для Dmitry V. Levin на комментарий #13) > > Если вы прибьёте туда clang10/llvm10/lld10, то не соберётся: > > https://lists.altlinux.org/pipermail/sisyphus-incominger/2020-August/579067. > > html > > А вот это уже должно собраться, если собирать и с llvm10.0: > http://git.altlinux.org/people/darktemplar/packages/?p=castxml.git; > a=commitdiff;h=159f593751e9731e252596cea6a9ac7301aaf6ce и что останавливает? (In reply to Aleksei Nikiforov from comment #19) > (Ответ для Dmitry V. Levin на комментарий #13) > > Если вы прибьёте туда clang10/llvm10/lld10, то не соберётся: > > https://lists.altlinux.org/pipermail/sisyphus-incominger/2020-August/579067. > > html > > А вот это уже должно собраться, если собирать и с llvm10.0: > http://git.altlinux.org/people/darktemplar/packages/?p=castxml.git; > a=commitdiff;h=159f593751e9731e252596cea6a9ac7301aaf6ce Попробуйте отправить это в Сизиф. Поскольку в сборочнице свои pkgpriorities, там можно закостылить llvm10 вместо llvm9. [00:09:11] LLVM ERROR: out of memory [00:09:11] Stack dump: [00:09:11] 0. Running pass 'CallGraph Pass Manager' on module 'tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTWriter.cpp.o'. [00:09:11] 1. Running pass 'Memory SSA' on function '@_ZN5clang15ASTRecordWriter7AddAttrEPKNS_4AttrE' [00:09:11] clang-9: error: unable to execute command: Aborted [00:09:11] clang-9: error: linker command failed due to signal (use -v to see invocation) [00:09:11] ninja: build stopped: subcommand failed. Предлагайте решение проблемы. У меня его нет (In reply to Valery Inozemtsev from comment #22) > [00:09:11] LLVM ERROR: out of memory > [00:09:11] Stack dump: > [00:09:11] 0. Running pass 'CallGraph Pass Manager' on module > 'tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ > ASTWriter.cpp.o'. > [00:09:11] 1. Running pass 'Memory SSA' on function > '@_ZN5clang15ASTRecordWriter7AddAttrEPKNS_4AttrE' > [00:09:11] clang-9: error: unable to execute command: Aborted > [00:09:11] clang-9: error: linker command failed due to signal (use -v to > see invocation) > [00:09:11] ninja: build stopped: subcommand failed. > > Предлагайте решение проблемы. У меня его нет Поскольку "LLVM ERROR: out of memory" - это не cgroup memory limit, у меня тоже нет. А как fedora собирает? (In reply to AEN from comment #25) > А как fedora собирает? Федора в конце января перешла с llvm9 на llvm10. в rawhide llvm9.0 есть от 2020-02-26 и на сколько он собирающийся нам не известно Потому и нам надо переходить, разве нет? несколько дней назад llvm9.0-9.0.1-alt3.src.rpm был успешно пересобран без изменений на старой сборочнице. Не нужно далеко ходить, чтобы выяснить разницу. (In reply to Sergey Bolshakov from comment #29) > несколько дней назад llvm9.0-9.0.1-alt3.src.rpm был успешно пересобран без > изменений на старой сборочнице. Не нужно далеко ходить, чтобы выяснить > разницу. И кстати говоря, Дмитрию об этом прекрасно известно, удивительно, что этот факт тут не упомянут. (In reply to Sergey Bolshakov from comment #31) > (In reply to Sergey Bolshakov from comment #29) > > несколько дней назад llvm9.0-9.0.1-alt3.src.rpm был успешно пересобран без > > изменений на старой сборочнице. Не нужно далеко ходить, чтобы выяснить > > разницу. > > И кстати говоря, Дмитрию об этом прекрасно известно, удивительно, что этот > факт тут не упомянут. Доказательств этому факту не представлено, так что я его за факт не считаю. В любом случае у меня нет идей, что там у вас на armh не так. (In reply to Dmitry V. Levin from comment #32) > (In reply to Sergey Bolshakov from comment #31) > > (In reply to Sergey Bolshakov from comment #29) > > > несколько дней назад llvm9.0-9.0.1-alt3.src.rpm был успешно пересобран без > > > изменений на старой сборочнице. Не нужно далеко ходить, чтобы выяснить > > > разницу. > > > > И кстати говоря, Дмитрию об этом прекрасно известно, удивительно, что этот > > факт тут не упомянут. > > Доказательств этому факту не представлено, так что я его за факт не считаю. > В любом случае у меня нет идей, что там у вас на armh не так. Ох. "какие ваши доказательства" штош, кокаинум: https://lioka.obninsk.ru/llvm9.0-9.0.1-alt3.src.rpm.log вот и поговорили... я вижу единственный вариант - удалить llvm9.0 за ненадобностью. баги развесить на те 9-ть пакетов которые его хотя хотя = хотят Развесьте, пожалуйста. Меня в сс: Но с разницей между старой и новой сборочницей тоже хорошо бы разобраться. (In reply to AEN from comment #36) > Но с разницей между старой и новой сборочницей тоже хорошо бы разобраться. Да. Я уже потратил на это больше времени, чем планировал, у меня не получилось, но я надеюсь, что Сергей справится. Это хорошо. Но полагаю, что Вы тоже не хотите возвращать armh на старую сборочницу. :) Потому надо разбираться. Кстати, та же проблема с памятью на сборочнице mipsel, хоть она и отдельная. (In reply to AEN from comment #39) > Кстати, та же проблема с памятью на сборочнице mipsel, хоть она и отдельная. Проблема нехватки 32-битного адресного пространства обычно проявляется и на x86. (Ответ для Dmitry V. Levin на комментарий #40) > (In reply to AEN from comment #39) > > Кстати, та же проблема с памятью на сборочнице mipsel, хоть она и отдельная. > > Проблема нехватки 32-битного адресного пространства обычно проявляется и на > x86. Кто бы мог подумать. :) Но там она решается. (In reply to Dmitry V. Levin from comment #37) > (In reply to AEN from comment #36) > > Но с разницей между старой и новой сборочницей тоже хорошо бы разобраться. > > Да. Я уже потратил на это больше времени, чем планировал, у меня не > получилось, но я надеюсь, что Сергей справится. На всякий случай привожу статистику потребления памяти, собранную в середине прошлой недели: 1. $(nproc) == 64: $ cat /sys/fs/cgroup/memory/user/bee/$USER/memory.{max_usage_in_bytes,limit_in_bytes} 15928725504 33285996544 1. $(nproc) == 32: $ cat /sys/fs/cgroup/memory/user/bee/$USER/memory.{max_usage_in_bytes,limit_in_bytes} 9813012480 33285996544 3. $(nproc) == 16: $ cat /sys/fs/cgroup/memory/user/bee/$USER/memory.{max_usage_in_bytes,limit_in_bytes} 6542618624 33285996544 Во всех случаях сборка падала в одном и том же месте (см. ссылки в первом посте): [3622/3716] : && /usr/bin/clang++ -fPIC -pipe -frecord-gcc-switches -Wall -g0 -O2 -fomit-frame-pointer -march=armv7-a -mthumb -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -ffunction-sections -fdata-sections -flto=thin -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O2 -DNDEBUG -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=lld -Wl,--color-diagnostics -Wl,--thinlto-cache-dir=/usr/src/RPM/BUILD/llvm-9.0.1.src/BUILD/lto.cache -Wl,-O3 -Wl,--gc-sections -shared -Wl,-soname,libclang-cpp.so.9 -o lib/libclang-cpp.so.9 ... [armh] FAILED: lib/libclang-cpp.so.9 (In reply to AEN from comment #41) > (Ответ для Dmitry V. Levin на комментарий #40) > > (In reply to AEN from comment #39) > > > Кстати, та же проблема с памятью на сборочнице mipsel, хоть она и отдельная. > > > > Проблема нехватки 32-битного адресного пространства обычно проявляется и на > > x86. > Кто бы мог подумать. :) > Но там она решается. Откуда вы знаете? Может быть, она там не проявляется? :) (Ответ для Dmitry V. Levin на комментарий #42) > > Во всех случаях сборка падала в одном и том же месте (см. ссылки в первом > посте): > [3622/3716] : && /usr/bin/clang++ -fPIC -pipe -frecord-gcc-switches -Wall > -g0 -O2 -fomit-frame-pointer -march=armv7-a -mthumb -fPIC > -fvisibility-inlines-hidden -Werror=date-time > -Werror=unguarded-availability-new -std=c++11 -Wall -Wextra > -Wno-unused-parameter -Wwrite-strings -Wcast-qual > -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough > -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor > -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color > -ffunction-sections -fdata-sections -flto=thin -fno-common > -Woverloaded-virtual -Wno-nested-anon-types -O2 -DNDEBUG -Wl,-z,defs > -Wl,-z,nodelete -fuse-ld=lld -Wl,--color-diagnostics > -Wl,--thinlto-cache-dir=/usr/src/RPM/BUILD/llvm-9.0.1.src/BUILD/lto.cache > -Wl,-O3 -Wl,--gc-sections -shared -Wl,-soname,libclang-cpp.so.9 -o > lib/libclang-cpp.so.9 ... > [armh] FAILED: lib/libclang-cpp.so.9 -flto=thin на 32-ной архитектуре ?! :) (In reply to Valery Inozemtsev from comment #34) > вот и поговорили... я вижу единственный вариант - удалить llvm9.0 за > ненадобностью. баги развесить на те 9-ть пакетов которые его хотя bpftrace пересобрал мантейнер, bcc исправил мантейнер, castxml исправил мантейнер, все остальные, кроме ghc8.6.4, я отправил на пересборку с llvm10. Таким образом, остаётся один ghc8.6.4, в котором написана вот такая ересь: # llvm needs for unregisterised architectures %ifarch armh %define llvm_version 9.0 %else %define llvm_version 7.0 %endif ... %ifarch armh aarch64 BuildRequires: llvm%llvm_version Requires: llvm%llvm_version %endif Избавьте нас от неё, пожалуйста, и llvm9 можно будет отправить на покой, так и не узнав, почему он не пересобирается на armh. Добавил мейнтейнера |