Bug 52320 - Просьба включить сборку libcxx/libcxxabi/etc
Summary: Просьба включить сборку libcxx/libcxxabi/etc
Status: RESOLVED LATER
Alias: None
Product: Sisyphus
Classification: Development
Component: llvm20.1 (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Konstantin A Lepikhov (L.A. Kostis)
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-12-02 15:48 MSK by Andrew Vasilyev
Modified: 2025-09-28 20:58 MSK (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Vasilyev 2024-12-02 15:48:51 MSK
Для сборки chromium необходимы свежие libc++(libcxx) и связанные
  библиотеки. Причина: падение chromium при сборке с libstdc++
  (см., например, https://tracker.debian.org/news/1558988/accepted-chromium-1270653388-1deb12u1-source-into-proposed-updates/
   "...
* Switch from building against (gcc's) libstdc++ to (clang's) libc++.
     Upstream is playing fast and loose with memory in ways that results
     in crashes with gcc's stricter libstdc++, but not with clang's libc++
     (which allows accessing deleting memory apparently). We can't maintain
     workarounds any more, and upstream really doesn't care (see, for
     example, https://crbug.com/346174906 , where they add workarounds only
     for their ASAN memory checker).
").

  Предпринята попытка собрать указанные библиотеки самостоятельно:
https://git.altlinux.org/people/andy/packages/?p=llvm19.1.git;a=shortlog;h=refs/heads/sisyphus

  есть проблемы с duplicate provides:

"NEW duplicate provides detected:
 Provide:                 Providers:
 libc++.so.1()(64bit)     libc++1 libc++19.1
 libc++abi.so.1()(64bit)  libc++abi1 libc++abi19.1"

  возможно, есть ещё какие-то ошибки, желательно вмешательство 
  специалиста по (сборке) llvm.
Comment 1 Konstantin A Lepikhov (L.A. Kostis) 2024-12-02 16:29:32 MSK
Мне лично не нравится такое утяжеление пакета llvm19.1, @glebfm, а нет ли в апстриме glibc никакого решения этой проблемы?

Можно ещё собирать это хозяйство отдельно, требуя соостветствующий llvm-devel для сборки, но тогда нам нужен мантейнер этого пакета.
Comment 2 Konstantin A Lepikhov (L.A. Kostis) 2024-12-05 17:23:53 MSK
Андрей, так дела не делаются, в след. раз я просто закрою доступ на пакет. Мне это изменение не упало, ответа от мантейнеров glibc вы тоже не получили.

Прошу не бежать впереди паровоза и откатить свои изменения в пакете llvm19.1.
Comment 3 Andrew Vasilyev 2024-12-05 17:44:36 MSK
(Ответ для Konstantin A Lepikhov (L.A. Kostis) на комментарий #2)
> Прошу не бежать впереди паровоза и откатить свои изменения в пакете llvm19.1.

https://git.altlinux.org/tasks/364152/ OK?
Comment 4 Gleb F-Malinovskiy 2024-12-06 17:14:03 MSK
(In reply to Konstantin A Lepikhov (L.A. Kostis) from comment #1)
> @glebfm, а нет ли в апстриме glibc никакого решения этой проблемы?
Какой именно?
Comment 5 Konstantin A Lepikhov (L.A. Kostis) 2024-12-20 13:58:59 MSK
Я собрал пакет libcxx. Дальнейшее обсуждение здесь не имеет смысла.
Comment 6 Andrew Vasilyev 2024-12-20 16:37:45 MSK
  Спасибо!
Comment 7 Konstantin A Lepikhov (L.A. Kostis) 2025-07-21 00:22:35 MSK
Переоткрываю этот баг, т.к. в llvm20.1 просто так собрать libcxx не получится - теперь при сборке libcxx требуются потроха libc, которые не экспортируются. Т.е. апстрим пока сломал возможность сборки libcxx отдельно.

FAILED: libcxx/src/CMakeFiles/cxx_shared.dir/charconv.cpp.o                                                                                                                                                                                                                               
/usr/bin/clang++ -DLIBCXX_BUILDING_LIBCXXABI -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_LINK_PTHREAD_LIB -D_LIBCPP_LINK_RT_LIB -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -I/usr/src/RPM/BUILD/build/libcxx/src -I/usr/src/RPM/BUILD/build/x86_64-alt-linux/incl
In file included from /usr/src/RPM/BUILD/build/libcxx/src/charconv.cpp:12:                                                                                                                                                                                                                
/usr/src/RPM/BUILD/build/libcxx/src/include/from_chars_floating_point.h:13:10: fatal error: 'shared/fp_bits.h' file not found                                                                                                                                                             
   13 | #include "shared/fp_bits.h"                                                                                                                                                                                                                                                       
      |          ^~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                       
1 error generated.                      


Надо будет подумать и посмотреть, что уже сделали в других дистрибутивах и принять решение.
Comment 8 Andrew Vasilyev 2025-07-21 00:39:03 MSK
  Пока ещё собирается llvm20.1-ом со старым libcxx (и работает), но не факт,
  что так будет всегда :(
Comment 9 Konstantin A Lepikhov (L.A. Kostis) 2025-09-28 20:58:57 MSK
(In reply to Andrew Vasilyev from comment #8)
>   Пока ещё собирается llvm20.1-ом со старым libcxx (и работает), но не факт,
>   что так будет всегда :(

раз новый libcxx собрали, то закрываю опять до след. релиза llvm :)