From: Paul Wolneykien <manowar@altlinux.org>
To: devel@lists.altlinux.org
Subject: Re: [devel] Обновление protobuf
Date: Thu, 27 Feb 2025 18:28:53 +0300
Message-ID: <20250227182853.2fad2279@legato> (raw)
In-Reply-To: <20250226132413.381c82b3@legato>
В Wed, 26 Feb 2025 13:24:13 +0300
Paul Wolneykien <manowar@altlinux.org> пишет:
> В Wed, 26 Feb 2025 09:05:49 +0300
> Paul Wolneykien <manowar@altlinux.org> пишет:
>
> > В Fri, 21 Feb 2025 23:56:25 +0300
> > Paul Wolneykien <manowar@altlinux.org> пишет:
> >
> > > В Fri, 21 Feb 2025 22:13:55 +0300
> > > скрылевъ малъ <majioa@yandex.ru> пишет:
> > >
> > > >
> > > >
> > > > ----------------
> > > > Кому: devel@lists.altlinux.org (devel@lists.altlinux.org);
> > > > Тема: [devel] Обновление protobuf;
> > > > 21.02.2025, 12:44, "Anton Farygin" <rider@basealt.ru>:
> > > >
> > > > > On 20.02.2025 19:37, Paul Wolneykien wrote: За прошедшее время я несколько раз перезапускал задание по причине
> > > > >> нового libabseil и ещё некоторых сложностей. Сегодня удалось обновить
> > > > >> и запатчить fcitx5-mozc. Других существенных изменений не произошло.
> > > > >
> > > > >
> > > > > Непонятно что делать с grpc
> > > > А что съ нимъ дѣлать? Я его обновлять хотѣлъ, только для него 29й нуженъ protobuf....
> > >
> > > Не, у меня с 25 собрался (3.25.5) с минорными послаблениями. Но тут
> > > ещё один товарищ вызвался в рассылке, поэтому я пока уступил.
> > >
> > > Вот, почти рабочий вариант (собирается с заданием, если сделать
> > > -Wno-error=return-type):
> >
> > Всем привет. В новой итерации задания собран grpc и вместе с ним
> > собран arrow --- то есть grpc выглядит рабочим.
> >
> > Однако сборку пришлось существенным образом поменять. В предыдущей
> > (текущей в Сизифе) версии grpc библиотеки из third-party упакованы
> > прямо в %_libdir, причём соответствующие *.so файлы упакованы в
> > devel пакет. Выходит, они предлагаются для general use другими
> > пакетами, так что-ли? Это не верно хотя бы потому, что версии
> > этих библиотек привязаны к grpc и не будут в таком виде своевременно
> > обновляться. А ещё для них нет заголовочных файлов.
> >
> > Более правильным решением тут была бы статическая линковка всего
> > этого third-party. Но беда в том, что такой опции в готовом виде
> > сборка grpc не предоставляет и поэтому в pkg-config файлах этого
> > пакета жёстко прописаны -lXXX -lYYY со всеми third-party. Поэтому
> > перевод на статику получается неоправдано большим патчем.
> > Есть и ещё одна причина, по которой я отказался от статической
> > линковки: это так называемый композиционный анализ --- то есть,
> > учёт тех компонентов из которых состоит то или иное ПО. Тут понятно,
> > что в случае динамической линковки прям очевидно (по имени файла),
> > что программа включает в себя тот или иной компонент. А вот когда
> > что-то вкомпилячено статикой, поди ещё выяви это что-то в готовом
> > бинаре.
> >
> > Исходя из вышеперечисленного, я принял решение упаковать все
> > third-party в %_libdir/grpc/. Правда для этого пришлось добавить
> > RPATH (ну а как ещё?). В таком виде кто попало эти библиотеки не
> > найдёт. В grpc.pc добавил -L%_libdir/grpc.
>
> Пока что, фокус с RPATH не удался. Точнее, он порождает новые
> RPATH по цепочке для клиентов libgrpc. Попробую собрать third-party
> статикой.
Ложная тревога. Дело было в clang, в котором, похоже, не включён
as-needed по умолчанию. А рецепты по сборке всего этого гуглового
хозяйства, мягко говоря, изобилуют мусором.
P. S. А почему --as-needed не включён по умолчанию на уровне ld?
next prev parent reply other threads:[~2025-02-27 15:28 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-12 12:46 Paul Wolneykien
2025-02-12 13:33 ` Paul Wolneykien
2025-02-12 14:18 ` Paul Wolneykien
2025-02-12 14:44 ` Yuri Sedunov
2025-02-12 14:58 ` Sergey V Turchin
2025-02-12 16:08 ` Anton Farygin
2025-02-12 21:02 ` Paul Wolneykien
2025-02-13 4:19 ` Anton Farygin
2025-02-13 7:35 ` Paul Wolneykien
2025-02-13 7:45 ` Sergey V Turchin
2025-02-13 8:27 ` Paul Wolneykien
2025-02-13 8:34 ` Sergey V Turchin
2025-02-13 8:46 ` Ivan A. Melnikov
2025-02-13 23:36 ` Alexey V. Vissarionov
2025-02-14 6:11 ` Sergey V Turchin
2025-02-13 8:36 ` Ivan A. Melnikov
2025-02-14 8:42 ` Paul Wolneykien
2025-02-20 16:37 ` Paul Wolneykien
2025-02-21 9:43 ` Anton Farygin
2025-02-21 13:06 ` Constantin Sunzow
2025-02-21 20:56 ` Paul Wolneykien
2025-02-21 21:44 ` Vitaly Chikunov
2025-02-22 20:32 ` Paul Wolneykien
2025-02-22 20:40 ` Vitaly Chikunov
2025-02-26 6:33 ` Paul Wolneykien
2025-02-26 8:15 ` Vitaly Chikunov
2025-02-26 6:05 ` Paul Wolneykien
2025-02-26 10:24 ` Paul Wolneykien
2025-02-26 11:07 ` Ivan A. Melnikov
2025-02-27 15:28 ` Paul Wolneykien [this message]
2025-03-05 19:43 ` [devel] Обновление protobuf: прошу выдать апрувы Paul Wolneykien
2025-03-07 8:54 ` [devel] Обновление protobuf Paul Wolneykien
2025-03-07 11:23 ` Anton Farygin
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=20250227182853.2fad2279@legato \
--to=manowar@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