The OpenNET Project / Index page

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



"Опубликован корректирующий релиз дистрибутива ROSA Fresh R11.1"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Второй уровень иерархии тем в форуме реализован через вкладку "Показ ключевых тем".
. "Опубликован корректирующий релиз дистрибутива ROSA Fresh R11..." +/
Сообщение от mikhailnov (ok), 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. Ни в одном известном мне релизный дистрибутив такая смесь не уходит в релиз.

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

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

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Опубликован корректирующий релиз дистрибутива ROSA Fresh R11.1, opennews, 24-Апр-20, 19:28  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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