1

Машина под управлением Mandriva 2006 (да, понимаю, что старая  smile ). Потребовалось обновить glibc до версии не ниже 2.4. Недолго думая, решил ставить из исходников. Компиляция прошла нормально, но на этапе выполнения make install вываливается следующая ошибка:

relocation error: /lib/i686/libc.so.6: symbol _dl_out_of_memory, version GLIBC_PRIVATE not defined in file ld-linux.so.2 with link time reference

И всё - любая консольная команда приводит к той же ошибке, но службы работают нормально.
Насколько я понимаю, возникла какаято ошибка при обновлении библиотек и часть осталась старыми а часть обновились.

Как быть? Есть образ системы, но достаточно старый - целиком из него восстанавливаться не хочется.

2

Elfinith пишет:

Как быть?

самое простое - стянуть торрентом с mandriva.ru последнюю версию и поставить по новой.
при этом конфиги можно использовать старые (хотя ЕМНИП кое-что придётся подправить).

Elfinith пишет:

решил ставить из исходников.

правильней сказать: "решил завалить систему". Успешно.  ac

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

3

drBatty пишет:

правильней сказать: "решил завалить систему".

А что делать - другого выбора не было - подходящего rpm в репозитарии 2006-й мандривы не нашлось, а поставить из репозитария более новой мандривы - это значит переустановить едва ли не половину системы. До сих пор таких проблем с исходниками не было - и вот на тебе.

4

Elfinith пишет:

А что делать - другого выбора не было

было. надо было сделать пакет утилитой checkinstall.

Elfinith пишет:

а поставить из репозитария более новой мандривы - это значит переустановить едва ли не половину системы.

понимаете, из сырцов - в точности тоже самое. только эта половина не автоматически скачивается и ставится, а ручками, как в слакваре. у меня такая беда тоже была, и тоже из-за установки сырцов. Решение выше.

Elfinith пишет:

До сих пор таких проблем с исходниками не было

были. просто вы их не замечали.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

5

в таком случае лучше скачать srpm из более новой версии и собрать его

6

odin пишет:

в таком случае лучше скачать srpm из более новой версии и собрать его

ага. но зависимости всё равно придётся удовлетворить.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

7

drBatty пишет:
odin пишет:

в таком случае лучше скачать srpm из более новой версии и собрать его

ага. но зависимости всё равно придётся удовлетворить.

это тоже самое что собрать из исходников... желательно только что бы версия не сильно отличалась... и в данном случае зависимости будут от системы НА КОТОРОЙ пакет собирался... т.е. тянуть пакеты из системы с которой брался пакет не придется... ну это конечно в идеале...

8

odin пишет:

и в данном случае зависимости будут от системы НА КОТОРОЙ пакет собирался... т.е. тянуть пакеты из системы с которой брался пакет не придется... ну это конечно в идеале...

я пробовал - не собирается. требует пол мандривы новой поставить. причём я так и не разобрался (там какой-то бред вроде "для гцц надо глибс, а для глибц нужен гцц", причём для сборки надо и то и другое, непонятно как это вообще собиралось). Причём я так воевал ещё с 2007й -> 2009я, кончилось тем, что выкинул нафиг. Для 2006 -> 2010 видимо будет ещё хуже.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

9

там какой-то бред вроде "для гцц надо глибс, а для глибц нужен гцц", причём для сборки надо и то и другое, непонятно как это вообще собиралось

как это делается в lfs написано ag ... а так да .. я же и говорю чем больше разница в версиях тем меньше шансов....

10

odin пишет:

как это делается в lfs написано

разница в том, что в LFS это получается, а в мандриве - нет. LFS тоже не поставите с 2006го года до 2010. разница очень сильная, там не три, а штук 7 пересборок нужно. короче -

drBatty пишет:

самое простое - стянуть торрентом с mandriva.ru последнюю версию и поставить по новой.

чем плох этот вариант? учитывая, что все конфиги и весь /home/ можно сохранить (правда часть переписать таки придётся, особенно много там с DBus'ом, ЕМНИП)

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

11

Самая большая неприятность в том, что это сервер, проработавший 4 года без существенных сбоев. Поэтому пока попробую восстановить из старого образа последовательно /lib и /usr, не затрагивая остальную часть корневого раздела (у меня два раздела - '/' и '/home'). Если не выйдет, придётся восстанавливать весь раздел целиком.

12

Elfinith пишет:

Самая большая неприятность в том, что это сервер, проработавший 4 года без существенных сбоев.

я понимаю. но вы идёте по опасному пути - обновится вы уже не можете, потому ваш сервер превращается в решето (дыры находятся, но вы их не можете закрыть).

Elfinith пишет:

Поэтому пока попробую восстановить из старого образа последовательно /lib и /usr, не затрагивая остальную часть корневого раздела (у меня два раздела - '/' и '/home'). Если не выйдет, придётся восстанавливать весь раздел целиком.

ещё восстановите /bin/ - программы в /bin должны быть согласованы с /usr/bin. иначе рискуете не загрузиться.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

13

Elfinith, вы поймите... от glibc зависит практически вся система....

14

odin, полностью согласен

пруф:

 Консоль:
$ ldd /bin/false
    linux-gate.so.1 =>  (0xffffe000)
    libc.so.6 => /lib/libc.so.6 (0xb7d84000)
    /lib/ld-linux.so.2 (0xb7eef000)

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)