From: Arseny Maslennikov <arseny@altlinux.org>
To: devel@lists.altlinux.org
Subject: Re: [devel] [#263468] EPERM (try 14) llvm-common.git=11.0.0-alt2 srpm=llvm11.0-11.0.0-alt2.src.rpm
Date: Fri, 15 Jan 2021 11:50:10 +0300
Message-ID: <YAFXQmM3dFqT2UsX@cello> (raw)
In-Reply-To: <20210114211238.GC189650@lks.home>
[-- Attachment #1: Type: text/plain, Size: 7921 bytes --]
On Thu, Jan 14, 2021 at 10:12:38PM +0100, Konstantin Lepikhov wrote:
> Hi Arseny!
>
> On 01/12/2021, at 03:09:01 PM you wrote:
>
> <skip>
> > > а мы куда то спешим?
> >
> > Самая важная причина, по которой я начал миграцию llvm в собственный
> > префикс — в том, что разным пакетам, в т. ч. пакетам-тулчейнам, требуются
> > llvm разной мажорной версии в одном репозитории, потому что они написаны
> > с расчётом на конкретную мажорную версию, и в том, что пользователи
> > не-мейнтейнеры хотели бы иметь в репозитории свежий clang и иногда
> > старый clang. Я не планирую сборку rc в репозиторий, но вот test-only
> > задания — почему нет, если так будет удобно.
> пакеты-тучейны это интересно звучит, но как это применимо к дистрибутиву?
> Все эти тулчейны как правило имеют свой бранч/репо llvm, и живут своей
> жизнью, отдельной от апстрима. Т.е. например, они внезапно могут не
Все или не все — покажет практика и время.
> поддерживать ту или иную версию gcc/libc в сизифе, я уж не говорю про
> архитектуру. И толк-то какой от них? Разве ООО захочет просертифицировать
Если официально признАть, что сизиф нужен только в качеСтве базы для
дистрибутивов ООО (варианТ покруче — только сертифицированных), то
вообще полсизифа надо удалять, а сообщество за пРеделами ООО и его
клиентов — распускАть за ненадобностью.
> какой-то продукт на базе этих тулчейнов или нужно будет добиться ABI
> совместимости (хотя в этом случае достаточно пропатчить glibc в рамках
> конкретного релиза, а не пересобирать весь тулчейн целиком).
>
> У вас есть примеры которые вот так прямо нужны в сизифе?
Взглянул вот на сегодняшний rust.
2 патча, не связанные с llvm по смыслу, и 1 патч, принятый в апстрим
Rust. %def_without bundled_llvm. Никакой личной жизни не видно, хотя
когда-то, скорее всего, была.
Впрочем, найдутся и те, кому ничего в сизифе вот так прямо не нужно,
потому что их сам сизиф по тем или иным причинам не устраивает, или
потому что от всего сизифа им нужно пакетов 50. Более того, у разных лиц
это окажутся разные множества пакетов.
>
> <skip>
> > > > > т.е. планируется собирать раздельные версии clang/llvm/lld?
> >
> > на всякий случай уточню: я понял эти слова так, что в репозитории могут
> > сосуществовать clang-11, clang-12 и clang-10, lld-11, lld-12 и lld-10, и
> > да, разные мажорные версии собираются не из одного исходного пакета.
> понял.
>
> >
> > > >
> > > > не в рамках одного исходного пакета.
> > > Я знаю, что в Fedora/Arch так делают, поэтому и спросил. Еще у нас есть
> > > lav@ который собирает все что находит -
> > >
> > > https://bugzilla.altlinux.org/show_bug.cgi?id=33411
> > > https://bugzilla.altlinux.org/show_bug.cgi?id=34672
> > >
> > > Тут все еще есть нерешенная проблема - чего мы хотим достигнуть с llvm в
> > > сизифе? Конкурентный toolchain или еще одну библиотеку для сборки пакета
> > > xyz.
Можно, конечно, к каждому пользователю llvm в комплект тащить свою копию
llvm (или форк) и собирать его статически, обмазав LTO. Но возникают три
недостатка:
* в репозитории отсутствуют clang и clang-tools для пользователей
сизифа;
* пакеты будут безобразно распухать в объёме;
* (теор.) в случае необходимости навязать важное исправление патч
придётся накладывать в N мест вместо 1.
Да, третий пункт — теоретический, но никакой процесс обеспечения
безопасности не имеет смысла, если не опирается на достаточно надёжный
toolchain.
Поэтому у нас и введено в традицию по возможности переиспользовать
компоненты, которые используем при сборке.[1]
По моему личному мнению, первого уже достаточно, чтобы не делать это
"нормой всеобщего законодательства" (c).
> >
> > И то, и другое.
> > И не только тулчейн, там ещё много всего интересного.
> см. выше.
>
> Как пример от меня - у нас есть пакет vulkan-amdgpu, это vulkan ICD для
> amd, который собирается на базе libllvm из master + патчи от amd + обвязка
> к железу. Пакетить это "по уму" просто трата времени, поскольку все это
> генерирует на выходе _одну_ библиотеку. Т.е. проще собрать libllvm
> статиком и воткнуть его в эту библиотеку. В этом виде ваши усилия как бы
> сбоку, поскольку все равно AMD собирает эту библиотеку gcc, и, думаю, даже не
> планирует переходить на clang.
>
> А есть, например их toolchain https://github.com/ROCm-Developer-Tools/aomp
>
> > AOMP is a clang/llvm compiler, it also supports GPU offloading with HIP,
> > CUDA, and OpenCL.
>
> Some sources to support OpenMP target offload on AMD GPUs have not yet
> been merged into the upstream LLVM trunk.
>
> Как ваш патч тут поможет?
Тут — честно, никак.
А вот с https://bugzilla.altlinux.org/show_bug.cgi?id=39087 должен
помочь.
P.S.
[1] Даже если целесообразность динамической линковки резко упадёт, есть
теоретические меры, которые можно было бы принять в репозитории —
например, введение в пакетную систему аналога дебиановского Built-Using.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2021-01-15 8:50 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-07 14:08 ` Arseny Maslennikov
2021-01-07 20:52 ` Konstantin Lepikhov
2021-01-07 21:18 ` Arseny Maslennikov
2021-01-11 9:13 ` Konstantin Lepikhov
2021-01-11 10:25 ` [devel] hazardous girar builder (was: Re: [#263468] EPERM (try 14) llvm-common.git=11.0.0-alt2 srpm=llvm11.0-11.0.0-alt2.src.rpm) Arseny Maslennikov
2021-01-11 10:44 ` [devel] hazardous girar builder Dmitry V. Levin
2021-01-11 10:49 ` Arseny Maslennikov
2021-01-11 10:56 ` Dmitry V. Levin
2021-01-11 11:08 ` Arseny Maslennikov
2021-01-11 11:22 ` Sergey V Turchin
2021-01-11 11:25 ` Anton Farygin
2021-01-11 11:32 ` Alexey Gladkov
2021-01-11 11:41 ` Yuri Sedunov
2021-01-11 12:00 ` Alexey Gladkov
2021-01-11 12:30 ` Arseny Maslennikov
2021-01-11 12:25 ` Sergey V Turchin
2021-01-12 7:44 ` Sergey V Turchin
2021-01-12 10:44 ` Alexey V. Vissarionov
2021-01-12 13:24 ` Sergey V Turchin
2021-01-11 12:30 ` Michael Shigorin
2021-01-11 13:21 ` Sergey V Turchin
2021-01-11 13:58 ` Arseny Maslennikov
2021-01-11 14:17 ` Sergey V Turchin
2021-01-12 7:55 ` Anton V. Boyarshinov
2021-01-12 8:13 ` Anton Farygin
2021-01-12 8:26 ` Anton V. Boyarshinov
2021-01-12 9:10 ` Anton Farygin
2021-01-12 10:10 ` Anton V. Boyarshinov
2021-01-12 11:10 ` Alexey V. Vissarionov
2021-01-12 12:53 ` Arseny Maslennikov
2021-01-12 13:18 ` Alexey V. Vissarionov
2021-01-12 14:10 ` Arseny Maslennikov
2021-01-12 19:06 ` Leonid Krivoshein
2021-01-12 20:54 ` [devel] html email in devel@ (was: Re: hazardous girar builder) Arseny Maslennikov
2021-01-13 8:45 ` Alexey V. Vissarionov
2021-01-13 8:54 ` Arseny Maslennikov
2021-01-13 8:59 ` Andrey Savchenko
2021-01-13 9:18 ` Arseny Maslennikov
2021-01-13 9:30 ` Vladimir D. Seleznev
2021-01-13 9:37 ` Alexey Gladkov
2021-01-13 9:48 ` Arseny Maslennikov
2021-01-13 9:21 ` Alexey Gladkov
2021-01-13 10:00 ` Andrey Savchenko
2021-01-13 10:10 ` Alexey Gladkov
2021-01-13 10:47 ` Andrey Savchenko
2021-01-13 11:48 ` Alexey Gladkov
2021-01-13 12:49 ` Dmitry V. Levin
2021-01-13 9:27 ` Vladimir D. Seleznev
2021-01-13 9:55 ` Andrey Savchenko
2021-01-13 10:14 ` Vladimir D. Seleznev
2021-01-13 10:49 ` Andrey Savchenko
2021-01-13 10:59 ` [devel] [JT] fortunes-ALT (was: html email in devel@) Michael Shigorin
2021-01-13 12:45 ` [devel] html email in devel@ (was: Re: hazardous girar builder) Dmitry V. Levin
2021-01-14 9:45 ` Alexey V. Vissarionov
2021-01-13 9:03 ` Alexey Gladkov
2021-01-12 18:10 ` [devel] hazardous girar builder Anton V. Boyarshinov
2021-01-12 18:40 ` Dmitry V. Levin
2021-01-12 18:48 ` Anton V. Boyarshinov
2021-01-12 14:12 ` Arseny Maslennikov
2021-01-11 16:09 ` [devel] [#263468] EPERM (try 14) llvm-common.git=11.0.0-alt2 srpm=llvm11.0-11.0.0-alt2.src.rpm Konstantin Lepikhov
2021-01-11 16:31 ` Michael Shigorin
2021-01-11 21:43 ` Konstantin Lepikhov
2021-01-11 16:38 ` Arseny Maslennikov
2021-01-11 21:41 ` Konstantin Lepikhov
2021-01-11 23:16 ` Dmitry V. Levin
2021-01-12 12:11 ` Arseny Maslennikov
2021-01-12 12:09 ` Arseny Maslennikov
2021-01-14 21:12 ` Konstantin Lepikhov
2021-01-15 8:50 ` Arseny Maslennikov [this message]
2021-01-12 21:39 ` Vitaly Lipatov
2021-01-14 20:55 ` Konstantin Lepikhov
2021-01-13 12:47 ` Alexey Sheplyakov
2021-01-14 20:46 ` Konstantin Lepikhov
2021-01-15 7:49 ` Ivan A. Melnikov
2021-01-15 8:50 ` Alexey Sheplyakov
2021-01-15 9:45 ` Konstantin Lepikhov
2021-01-15 12:38 ` [devel] И еще про кросс-компиляторы (Re: [#263468] EPERM (try 14) llvm-common.git=11.0.0-alt2 srpm=llvm11.0-11.0.0-alt2.src.rpm) Alexey Sheplyakov
2021-06-17 8:46 ` Konstantin Lepikhov
2021-01-15 13:46 ` [devel] [#263468] EPERM (try 14) llvm-common.git=11.0.0-alt2 srpm=llvm11.0-11.0.0-alt2.src.rpm Alexey V. Vissarionov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YAFXQmM3dFqT2UsX@cello \
--to=arseny@altlinux.org \
--cc=devel@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git