[Решено]Не могу обновить glibc

Kubuntu, Xubuntu и другие

Модератор: Модераторы разделов

Sahas
Сообщения: 7
ОС: Ubuntu 8.04 x86_64

[Решено]Не могу обновить glibc

Сообщение Sahas »

Здравствуйте!

Я являюсь счастливым ;) обладателем Ubuntu 7.10 x86_64, однако, проблема, которая будет описана ниже, как мне кажется, не совсем связана с дистрибутивом, поэтому прошу модераторов (если сочтете необходимым) переместить тему в более общий раздел.

Предыстория такова: пытался я как-то обновиться до 8.04, но ничего у меня не вышло...
После упорных копаний и исследований выяснилось:
при попытке установить версию libc6 > 2.6 (а конкретно, 2.7 и 2.8) перестают работать практически все команды.
Например, при вводе команды ls выдается такая ошибка:

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

ls: relocation error: /lib/libpthread.so.0: symbol __vdso_clock_gettime, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference


Некоторые другие команды выдают что-то вроде Segmentation fault (core dumped)

Что я пробовал делать:
загружал разные версии ядра, в т.ч. собственноручно скомпиленные (от 2.6.22 до 2.6.26.5) - та же ошибка
компилировал и устанавливал из исходников glibc-2.7 - та же ошибка
При этом компиляция и установка из исходников версии glibc-2.6 не дает подобных ошибок.

Последняя моя попытка была установить новую версию пакета coreutils. однако это ни к чему не привело.

Мне кажется, что это баг glibc, однако я не уверен.
Поэтому гуру линукса, обращаюсь к вам за помощью!
Что такое GLIBC_PRIVATE и с чем его едят?
Что значит подобная ошибка:

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

relocation error: /lib/libpthread.so.0: symbol __vdso_clock_gettime, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference

Куда копать/бежать?=)
Как/куда писать баг-репорт?

P.S. Более подробное описание моих приключений можно найти здесь:
http://forum.ubuntu.ru/index.php?topic=36746.0
Спасибо сказали:
blackdevil
Бывший модератор
Сообщения: 2751
Статус: Добровольный помощник
ОС: Ubuntu (lts)

Re: [Решено]Не могу обновить glibc

Сообщение blackdevil »

Попробуйте так:
Подключите репозитории от ubuntu 8.04 а от 7-ой версии уберите совсем,
После этого в консоли:

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

sudo dpkg --configure -a
sudo apt-get update
sudo apt-get dist-upgrade
Простые решения для Ubuntu-подобных систем: смотрим тут
Спасибо сказали:
Sahas
Сообщения: 7
ОС: Ubuntu 8.04 x86_64

Re: [Решено]Не могу обновить glibc

Сообщение Sahas »

blackdevil писал(а):
03.10.2008 09:19
Попробуйте так:
Подключите репозитории от ubuntu 8.04 а от 7-ой версии уберите совсем,
После этого в консоли:

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

sudo dpkg --configure -a
sudo apt-get update
sudo apt-get dist-upgrade

Я думаю, это вряд ли поможет, поскольку Менеджер обновлений так примерно и делает - сначала подключает репозитории только Hardy, а затем устанавливает апдейты.
Спасибо сказали:
blackdevil
Бывший модератор
Сообщения: 2751
Статус: Добровольный помощник
ОС: Ubuntu (lts)

Re: [Решено]Не могу обновить glibc

Сообщение blackdevil »

Ну раз не хотите ничего делать зачем спрашивать вообще? Вам вариант подсказывают а Вы не попробовав даже - "думаю не поможет"...Придумайте тогда сами то что поможет ;)
В вашем случае, когда все сегфолтится и постоянно вылетают ошибки, следовало бы вообще отказаться от пакетных менеджеров и делать все руками в консоли.
Простые решения для Ubuntu-подобных систем: смотрим тут
Спасибо сказали:
Sahas
Сообщения: 7
ОС: Ubuntu 8.04 x86_64

Re: [Решено]Не могу обновить glibc

Сообщение Sahas »

blackdevil писал(а):
03.10.2008 19:02
Ну раз не хотите ничего делать зачем спрашивать вообще? Вам вариант подсказывают а Вы не попробовав даже - "думаю не поможет"...Придумайте тогда сами то что поможет ;)
В вашем случае, когда все сегфолтится и постоянно вылетают ошибки, следовало бы вообще отказаться от пакетных менеджеров и делать все руками в консоли.

Сделал, как вы предлагаете, результат - тот же:

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

Распаковывается замена для пакета libc6 ...
Настраивается пакет libc6 (2.7-10ubuntu4) ...
Устанавливается новая версия файла конфигурации /etc/init.d/glibc.sh ...
Устанавливается новая версия файла конфигурации /etc/gai.conf ...

Processing triggers for libc6 ...
ldconfig deferred processing now taking place
touch: relocation error: /lib/libpthread.so.0: symbol __vdso_clock_gettime, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference
E: Problem executing scripts DPkg::Post-Invoke 'if [ -d /var/lib/update-notifier ]; then  touch /var/lib/update-notifier/dpkg-run-stamp; fi'
E: Sub-process returned an error code
E: Sub-process /usr/bin/dpkg returned an error code (127)
Спасибо сказали:
blackdevil
Бывший модератор
Сообщения: 2751
Статус: Добровольный помощник
ОС: Ubuntu (lts)

Re: [Решено]Не могу обновить glibc

Сообщение blackdevil »

Ну если "sudo dpkg --configure -a" Вам не помог, у меня больше мыслей нет...разве что переустановка, или более опытные пользователи подскажут...
Простые решения для Ubuntu-подобных систем: смотрим тут
Спасибо сказали:
Аватара пользователя
Dimon93rus
Сообщения: 428
Статус: Kernel Killer

Re: [Решено]Не могу обновить glibc

Сообщение Dimon93rus »

blackdevil писал(а):
04.10.2008 14:59
Ну если "sudo dpkg --configure -a" Вам не помог, у меня больше мыслей нет...разве что переустановка, или более опытные пользователи подскажут...

У меня такое было, когда на Debian'е собирал из исходников glibc-2.7 :)
Нужно просто потом переделать ссылки в директории /lib и /lib/tls/i686/cmov
Конкретно какие, сейчас уже не вспомню....
У вас ругается на lib/libpthread.so.0, если это ссылка, то посмотрите на что она ссылается, например у вас есть файлы libpthread-2.5.so и libpthread-2.7.so, то перенаправляйте ссылку на более новую библиотеку (т.е. ту которую вы устанавливаете). И так со всеми файлами в этих директориях

Надеюсь поможет :)
Ubuntu Server 10.04 x86, Calculate Linux 11.6 x86
Спасибо сказали:
Sahas
Сообщения: 7
ОС: Ubuntu 8.04 x86_64

Re: [Решено]Не могу обновить glibc

Сообщение Sahas »

Dimon93rus писал(а):
04.10.2008 23:39
У меня такое было, когда на Debian'е собирал из исходников glibc-2.7 :)
Нужно просто потом переделать ссылки в директории /lib и /lib/tls/i686/cmov
Конкретно какие, сейчас уже не вспомню....
У вас ругается на lib/libpthread.so.0, если это ссылка, то посмотрите на что она ссылается, например у вас есть файлы libpthread-2.5.so и libpthread-2.7.so, то перенаправляйте ссылку на более новую библиотеку (т.е. ту которую вы устанавливаете). И так со всеми файлами в этих директориях

Надеюсь поможет :)


Спасибо за совет!
Но, к сожалению, не помогает (пока=)
Ибо каталога /lib/tls/ у меня нет, ссылки ссылаются на новые версии (старых даже и в помине нет).
Если скопить старые либы и перенаправить ссылки на них, то что-то начинает работать, но после выполнения ldconfig все ссылки опять перенаправляется на новые либы. Так что не тру :(

P.S. Даже если я просто скопирую новую либу libpthread-2.7.so в /lib и выполню ldconfig, то потом сразу перестают работать команды, выдавая вышеописанную ошибку.
Спасибо сказали:
Аватара пользователя
zvezdochots
Сообщения: 54
ОС: Windows Vista, XP+Ubuntu Linux

Re: [Решено]Не могу обновить glibc

Сообщение zvezdochots »

blackdevil писал(а):
04.10.2008 14:59
Ну если "sudo dpkg --configure -a" Вам не помог, у меня больше мыслей нет...разве что переустановка, или более опытные пользователи подскажут...

Да, переустановка-самый "лучший" вариант. К сожалению. :blush:
Спасибо сказали:
Sahas
Сообщения: 7
ОС: Ubuntu 8.04 x86_64

Re: [Решено]Не могу обновить glibc

Сообщение Sahas »

Ура! Проблема решена! :)

Как оказалось, виноваты мои "кривые руки", но неявным образом...
А весь фокус был в том, что в каталоге /lib откуда-то взялся файл libc6.2-2.so.3, на который ссылался libc.so.6 (вместо того, чтобы ссылаться на libc-2.6.1.so).
И когда выполнялась команда ldconfig, то почему-то ссылка всегда перенаправлялась на libc6.2-2.so.3, даже когда устанавливался файл libc-2.7.so.
Откуда взялся этот загадочный libc6.2-2.so.3 - неизвестно (я люблю устанавливать разные пакеты=)... а может, это вирус???
:crazy:
Спасибо сказали: