The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Опубликован корректирующий релиз дистрибутива ROSA Fresh R11..."
Отправлено mikhailnov, 26-Апр-20 14:17 
> Ну ладно, там чувак тоже в описании бага ошибся и написал, что
> проблема в glibc, но ты-то мог бы заметить, что это чушь.

Понятно.

>> Но зачем делать системный libstdc++ от более нового GCC, чем сам /usr/bin/gcc, когда можно не городить таких костылей? Так в каких-нибудь дистрибутивах делали?
> Затем, чтобы можно было параллельно установить и использовать более новый gcc с
> поддержкой C++17, с неё ведь всё началось.

Не-не, началось с задачи "поддержка C++17 должна быть и в компиляторе, и в libstdc++". Только в компиляторе - вообще без проблем, но нужно же прилинковать какую-то libstdc++, статически или динамически, а если динамически, то при запуске программы она должна оказаться установленной. Если бы было достаточно поддержки С++17 только в компиляторе, то нашего разговора бы не было.

>> Обновлять libstdc++ надо, безусловно, вместе с её заголовочными файлами. Использовать с ней сарый компилятор (с его старыми заголовочными файлами, не относящимися к libstdc++) при этом можно.
> Вот тут я всё же наврал. Заголовочные файлы компилятору нужны от его
> родной версии libstdc++. Сама библиотека при этом может быть более новой.

Логично, ведь ABI сохранен, символы версионированы, не должны быть проблем собраться с новыми заголовочными файлами и слинковаться с более старой libstdc++, но только при условии, что в ней есть все необходимые символы. В случае LibreOffice 6.3 это не так.

> По крайней мере, так это сделано в Debian (на одной системе
> у меня сейчас установлены g++ версий 4.7, 6 и 8, на
> другой — 4.8 и 8, у каждой свои заголовочники от libstdc++,
> а libstdc++.so.6 от 8 версии, и все версии благополучно работают).

При этом Debian в стабильном релизе не обновляет версию libstdc++.so.6, а дополнительные версии компиляторов линкуются с той, которая поставляется по умолчанию.

> И это не костыль,
> костыль — когда часть пакетов приходится собирать gcc, другую — clang'ом,
> и линковать их с непонятно как названной стандартной библиотекой.
> Потом, я уже писал, что так оно работает как минимум в Debian.

Debian на ходу не обновляет libstdc++.so.6, если вы сами подложили другую библиотеку в обход пакетной системы, то это вы сделали на свой страх и риск, это не дистрибутивное решение.

>> давайте, интересно.
> Там проявлялась вот эта ошибка: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69191
> Компилятор хоть и был новый, а бага старой libstdc++ вылезала. Разрабы были
> очень недовольны: «как так, я на бубунте той же версией gcc
> собираю, и всё работает».

Спасибо, почитаю.

>> Кто-нибудь уже прошелся по таким граблям?
> Уже писал. Лично ходил около 5 лет, и примерно столько же ходили
> до меня. Граблей не обнаружено.

5 лет подменяете системную libstdc++.so.6 на более новую? А более новую сами собираете? Или еще и libc.so.6 подменяете, чтобы удовлетворить зависимости новых libstdc++.so.6 и libgcc_s.so.1? Или копируете бинарную от более нового gcc из репозитория? Что-то не верится, полагаю, вы подменяете понятия и говорите об использовании альтернативной версии gcc с системной libstdc++.so.6, что не подходит в случае Росы, поскольку системная libstdc++.so.6 слишком старая.

> См. также написанное про Debian.
> Также попробуй включить мозг и вспомнить, что происходит при разработке новой веткии
> дистрибутива. Когда компилятор с libstdc++ обновили, но массовой пересборки ещё не
> было. Хоть раз что-то в этот момент ломалось из-за новой libstdc++?

При разработке новой версии дистрибутива весь дистрибутив пересобирается в сборочнице и не работает в продакшене. Требуется лишь работа компонентов базового сборочного окружения и некоторых вспомогательных программ-сборочных зависимостях. Так даже смесь из OpenSSL 1.0 и 1.1 работает, вот прямо сейчас в rosa2019.1. Ни в одном известном мне релизный дистрибутив такая смесь не уходит в релиз.

>> Роллинг-дистрибутивы существуют не потому что ничего не ломается, а потому что почти ничего не ломается.
> То ли ты опять ничего не понял, то ли, что более вероятно,
> просто не хочешь понимать. Они существуют, потому что в них не
> ломается вообще всё при каждом обновлении.

"Вообще всё" не ломается, да, а что-нибудь ломается, не понимаю, в чем проблема, почему я должен посчитать уместным потащить такую схему в релизный дистрибутив, пользователи которого не подписывались на такие риски?

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру