Решил недели две назад обновить систему на своей SGI O2 (mips). Сказано - поехали! Поскольку машина по скорости компиляции в 6 примерно раз медленее моего десктопа (на котором Slackware), а он в свою очередь примерно в 8 раз медленее среднего прошлогоднего AMD Barton 2300BE (кажется так, уж не помню точно, друг давал машину на время) - то просто «пересобрать всё» выглядело ну очень утомительным процессом. Решил обновлять пакеты по-одному, или небольшими группами. Успешно обновил gcc до 4.4.4 (почти словив OOM, сейчас почитал http://hostingfu.com/article/compiling-with-gcc-on-low-memory-vps , добавил эти параметры, ещё раньше убрал -pipe из CFLAGS). Успешно обновил большую часть media-libs, скомпилировал audacious и GIMP-2.6.10 (размаскировав оба). Audacious играет, правда процентов 40-45 от mips r5k/180Mhz/512K L2 ест. ладно, поставлен был «для красоты» (ну и посмотреть, соберётся ли). ГИМП оказался тоже достаточно рабочим для создания скриншота, как минимум (http://img196.imageshack.us/img196/8307/gimp2610mips1.jpg). Правда, для него пришлось пересобрать pygtk/pyobject , а для них - numpy (от количества warnings в котором мой экран скроллился несколько раз, при emerge предупреждения фиксируются и потом отдельно выдаются на экран, мол не приставайте к нам с багами, бегом на страницу проекта, который так код пишет.).
И всё было хорошо, пока я не стал пересобирать gtk+ . Оно вывалилось с ошибкой, оказалось при апгрейде libpng 1.2 -> 1.4 я забыл запустить прилагаемый скрипт, который в свою очередь хотел portage-utils, которые пришлось поставить. В общем странное осталось ощущение - простейшие операции _специально_ не автоматизируются, видимо чтобы админ не спал, а читал что ему пишут на экране. Ладно, обновил gtk - обновлю и X сервер! Обновил ... правда, несмотря на обычную тщательность (просмотр вывода emerge -p , установка USE флагов по необходимости) пропустил казалось бы безобидное обновление udev. X-то запустились, правда конфиг был не тот немного, и они проигнорировали «устаревшие» драйвера kbd/mouse. ладно, ребут .... И тут отваливается udev. Не очень страшно, если грузишься по сети, и вся система - на NFS. Нашёл казалось бы решение - нужно пересобрать glibc с новыми kernel-headers (2.6.35 поставил, вместо старых 2.6.24). Стал пересобирать ... Правда, меня предупредили на #gentoo-mips, что апгрейд до 2.11.2 может вылиться в сегфолт. Ну, я сделал quickpkg для текущей glibc, и полный бэкап всего, что было на NFS root.
Обновив glibc - нарвался на сегфолты, почти всего, начиная от gawk и заканчивая gcc. Обидно, но emerge работает. Указываю ему на /usr/portage/packages/sys-libs/glibc-версия.tbz2 - ругается что «install by path is broken!» а потом вообще отказывается делать downgrade! (т.е. вернуться на старую версию glibc). Пришлось делать emerge --unmerge glibc (оно оказалось даже не в защищенных), потом tar'ом распаковывать архив-пакет со старой glibc, и водворять её на место (это на NFS сервере). Гружусь, emerge работает, предлагает поставить glibc. Умно. Маскирую новую версию glibc, заодно с udev-162. На этапе компиляции выясняется, что куда-то потерялся /usr/lib/crt1.o Ого. Достаю его из полного бэкапа (который на x86 машине, в виде squashfs4-образа, который достаточно смонтировать). После полусуток компиляции (из которых часа 2 генерились локали - надо бы это поправить ....) кажется получил рабочую glibc-2.9
Стал пересобирать систему. Но сначала пришлось мигрировать на openrc. А для этого пришлось пересмотреть кучу файликов (сорок), которые etc-update посчитал устаревшими. В большинстве случаев их можно было спокойно заменить, устаревший вариант на новый. В двух случая оставил старые настройки. Наверное, такая пляска была бы в любом дистре, захоти я его после почти полугода простоя обновить.
Openrc на этой медленной машине действительно грузит систему заметно быстрее, но не уверен что произойдёт, если он отвалится, по какой-то причине (glibc опять ....). Всё-таки поддержание gentoo в рабочей форме требует усилий, на быстрой машине это не так заметно, а тут .... две недели и всё ещё не обновился толком. Правда, и засады с glibc на x86 как я понимаю нет, да и на mips она не везде проявляется.
https://bugs.gentoo.org/show_bug.cgi?id=340243 - в эту багу мне предлагали отписаться, но я пока дождусь результатов emerge system, для glibc-2.9 А потом можно ещё один образ сделать, и экспериментировать с glibc-2.11
В общем хорошо конечно, что хоть один дистрибутив поддерживает старые SGI машины. И хорошо что системный компилятор до сих пор компилирует себя на 256 мегабайтах оперативки без свопа. Но всё же я всерьез начал думать о distcc .....
Ответ на:
комментарий
от iZEN
Ответ на:
комментарий
от Andrew-R
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Не собирается нативно GCC 4.9.3 на armv7-a (2015)
- Форум [gentoo] обновление GCC (2009)
- Форум Обновление Фанту привело к мерцанию окна терминала и диалогов xfce (2017)
- Форум Не могу собрать binutils-libs (2017)
- Форум Поломался profile в gentoo (2012)
- Форум New 17.0 profiles in the Gentoo repository (2017)
- Форум Failed to merge net-libs/libgrss - Что такое? (2014)
- Форум udev-079-r1 failed (2006)
- Форум После обновления мира в Gentoo при запуске иксов от юзера не работают устройства ввода. (2016)
- Форум Параноик-тред (2013)