Upgrading GCC

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Аватара пользователя
yoricI
Сообщения: 1464
ОС: gentoo fluxbox

Upgrading GCC

Сообщение yoricI »

Здравия!
Вкратце, из гентупедии (судя по дате обновления , актуальной), при обновлении компиляторов надо пересобрать libtool:
root #emerge -1av --oneshot --usepkg=n sys-devel/libtool
а по максимуму поболее:
emerge -1av --usepkg=n --verbose sys-devel/libtool sys-devel/llvm sys-devel/clang dev-python/wxpython x11-libs/wxGTK
Так вот, интересует меня такой вопрос, почему бы это не возложить автоматически на portage? Или какие-то непреодолимые сложности? По-моему, никаких - смотришь на наличие пакета, и вставляешь его в список пересборки-обновления. Доколе? Написать пожелание на гентутрекер?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18639
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Upgrading GCC

Сообщение Bizdelnick »

Что-то не понял, а какой смысл пересобирать libtool?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
yoricI
Сообщения: 1464
ОС: gentoo fluxbox

Re: Upgrading GCC

Сообщение yoricI »

Пишут, вот такой:
libtool The reason we need to rebuild libtool after the upgrade of gcc versions is because of its main purpose: libtool is a toolset that aggregates platform-specific code in a generic interface, allowing applications to build against shared libraries without needing to deal with the platform-specific aspects of shared libraries. To fulfill its function properly, the libtool script uses various library locations that have hard-coded gcc version information in them.

Это всё оттуда:
https://wiki.gentoo.org/wiki/Upgrading_GCC
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18639
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Upgrading GCC

Сообщение Bizdelnick »

А. Вопрос в пространство: кто-то разве использует системный прегенерированный libtool вместо того, чтобы генерить свой собственный? Эту дрянь ведь без конца ломают, чуть не та версия — и ничего не соберётся.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1813
ОС: Gentoo

Re: Upgrading GCC

Сообщение ormorph »

yoricI писал:
25.04.2020 09:52
Так вот, интересует меня такой вопрос, почему бы это не возложить автоматически на portage? Или какие-то непреодолимые сложности?
Ну так порты уже отслеживают нарушение ABI и автоматом предлагают пересобрать зависимости.

Shell

# emerge @preserved-rebuilg
Зачастую эти действия даже не требуется, если только не возникает несовместимость ABI. Порты поумнели нынче.
Спасибо сказали:

Аватара пользователя
yoricI
Сообщения: 1464
ОС: gentoo fluxbox

Re: Upgrading GCC

Сообщение yoricI »

То есть не надо даже это?
yoricI писал:
25.04.2020 09:52
root #emerge -1av --oneshot --usepkg=n sys-devel/libtool
А зачем тогда в вики пишут?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18639
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Upgrading GCC

Сообщение Bizdelnick »

ormorph писал(а):
25.04.2020 12:21
Ну так порты уже отслеживают нарушение ABI и автоматом предлагают пересобрать зависимости.
Какой ещё ABI в шелл-скрипте?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1813
ОС: Gentoo

Re: Upgrading GCC

Сообщение ormorph »

Bizdelnick писал:
25.04.2020 14:02
Какой ещё ABI в шелл-скрипте?
sys-apps/portage - не скрипт...
Можно попробовать поставить бинарный пакет тыц. После установки покажет с какими библиотеками проблемы у этого пакета и предложит пересобрать его, но это бинарник. Хотя визуально этот пакет будет работать нормально. Там были броблемы с установленным ffmpeg.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18639
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Upgrading GCC

Сообщение Bizdelnick »

ormorph писал(а):
25.04.2020 14:53
sys-apps/portage - не скрипт...
libtool зато — скрипт.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1813
ОС: Gentoo

Re: Upgrading GCC

Сообщение ormorph »

Bizdelnick писал:
25.04.2020 15:38
libtool зато — скрипт.
Аа))
Ну так тулчейн уже давно не пересобирал, все обновляется и работает, наверное что то делаю не так...
Спасибо сказали:

Аватара пользователя
Иван Шихалев
Сообщения: 166
Статус: принципиальный дилетант
ОС: Gentoo Linux

Re: Upgrading GCC

Сообщение Иван Шихалев »

Ни разу ничего такого не делал, все обычным порядком обновляется.
Иван Шихалев
shikhalev.org
Спасибо сказали:

Аватара пользователя
yoricI
Сообщения: 1464
ОС: gentoo fluxbox

Re: Upgrading GCC

Сообщение yoricI »

Кстати, emerge @preserved-rebuilg иногда автоматом предлагается сделать. Так зачем же продолжают в вики это писать? Страница обновлена совсем недавно, и месяца нет.
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1813
ОС: Gentoo

Re: Upgrading GCC

Сообщение ormorph »

yoricI писал:
25.04.2020 20:37
Так зачем же продолжают в вики это писать? Страница обновлена совсем недавно, и месяца нет.
Ну там конкретно сказано про переход от gcc 4.x на gcc 5.x, когда пятая ветка использовала новый ABI. Но тогда конкретно в новостях предлагалось решение проблемы перехода:
Spoiler

Код: Выделить всё

GCC 5 uses the new C++ ABI by default.  When building new code, you might run
into link time errors that include lines similar to:
...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'

Or you might see linkage failures with "std::__cxx11::string" in the output.

These are signs that you need to rebuild packages using the new C++ ABI.
You can quickly do so by using revdep-rebuild (from gentoolkit).

For gentoolkit-0.3.1 or higher:
# revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc

For previous versions of gentoolkit:
# revdep-rebuild --library 'libstdc\+\+\.so\.6' -- --exclude gcc

For more details, feel free to peruse:
https://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/
https://blogs.gentoo.org/blueness/2015/03/10/the-c11-abi-incompatibility-problem-in-gentoo/
Тогда при переходе могла выскочить в процессе сборки пакетов новым компилятором ошибка undefined reference to. Возможно с определением теперь система портов справляется на много лучше чем ранее, так как уже давно не выскакивало таких ошибок.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18639
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Upgrading GCC

Сообщение Bizdelnick »

ormorph, какое отношение всё то, что Вы пишете, имеет к libtool?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1813
ОС: Gentoo

Re: Upgrading GCC

Сообщение ormorph »

Bizdelnick писал:
25.04.2020 21:45
ormorph, какое отношение всё то, что Вы пишете, имеет к libtool?
Ни какого, с libtool проблем не возникало при переходе с четверки на пятую версию gcc и вообще не пере собирал libtool ни разу. А вот на ошибку undefined reference to натыкался.
Спасибо сказали: