Ping_Win
написал 19 января 2005 года в 15:08 (2094 просмотра)
Ведет себя
неопределенно; открыл 73 темы в форуме, оставил 102 комментария на сайте.
Добрый день.
Захотел я установить GTK+-2.5.5,
но оказалось, что у меня старые версии Glib,Pango и Atk.
Начал их обновлять. Glib-2.5.6 с помощью
./configure; make; make install устанавливается без проблем.
Затем добавляю переменную PKG_CONFIG_PATH с путем
к новой Glib. Однако при установке Pango выдает, мол
… версия 2.5.6, но обнаружена старая версия 2.0.x,
Please remove old packge …
Как мне удалить старую Glib?
(я подумывал о простом удалении всего, что связано с Glib-2.0 из
/usr/bin и /usr/lib. Правильно ли это?)
Спасибо.
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Поосторожнее с таким аттракционом как удаление glibc.
Может привести систему в неработоспособное состояние.
По сути вопроса:
Каскадное обновление?.. Какой дистрибутив?
Проще обновить систему с более свежего дистрибутивного диска.
С предварительным бэкапом всех настроек и (рекомендуется) пользовательских данных.
А разве Glib и glibc одно и то же ?
Дистрибутив — RedHat 9.0.
Ядро поменял 2.4.0 -> 2.6.8.
Что glibc не стоит менять я слышал, но я думал,
что это разные вещи.
А каскадное или нет — не знаю.
Просто имеется glib-2.5.6.tar.gz, распаковываю,
cd glib-2.5.6;
configure --prefix=/usr/local/glib;
make
make install
Потом смотрю /usr/bin/pkg-config --list-all. Установлненный (новый)
Glib там отображается, но как удалить старый.
Хочу рискнуть системой.
glib и glidc — разные пакеты (Anarchist, наверное, просто невнимательно прочитал ;))
Раз уж у тебя RPM based дистрибутив, то какой смысл устанавливать glib из исходников? Найди RPM пакет с интересующей тебя версией и спомощью команды 'rpm -U' просто обнови этот пакет. Таким образом, старый пакет заменится новым и тебе ничего не придётся делать лишнего (типа удаления старой версии).
Плюс, если вдуг что-то пойдёт не так с новой весией пакета, то с помощью того же rpm можно будет легко откатиться назад до старой версии.
Тебе точно нужна версия из нестабильной ветки 2.5?
PKG_CONFIG_PATH — путь к файлам *.pc. У меня /usr/lib/pkgconfig.
Ты его указываешь?
Лучше поручить удаление (как и установку :) )пакетному менеджеру, но если очень хочется самому, надо удалить старые файлы glib-2.0.pc из /usr/lib/pkgconfig, добавить в PKG_CONFIG_PATH дополнительные пути к новым файлам *.pc — /usr/local/lib/pkgconfig
Ребята, а для чего же тогда нужны эти tar.gz, если «миром правит» RPM?
По умолчанию PKG_CONFIG_PATH была пустой, но я прописал путь
к /usr/local/glib/lib/pkg-config, где и находятся .pc-файлы.
Просто интересно, как установщик(даже не установщик, а ./configure) другого пакета (pango-xxxx.ta.gz) определяет, что у меня еще стоит старая версия glib, может «порыть» сам configure?
А никто и не утверждал, что «миром правит RPM». Просто у тебя дистрибутив построен на пакетах RPM.
В двух словах: менеджер пакетов rpm следит за зависимостями между пакетами, а также ведёт базу установленных пакетов. Таким образом, во-первых, пакеты легко устанавливать (нужна всего одна команда: rpm -i /path/to/packet.rpm) и удалять (rpm -e packet).
А за программами, установленными вручную из исходников (tar.gz), тебе придётся следить самому. Отсюда, напрмер, проблемы с удалением установленных программ. Придётся искать (вспоминать), куда ты её поставил. Естественно, за всеми установленными с удаляемой программой файлами ты не уследишь, и из-за этого будет копиться «мусор» в твоей системе.
Вобщем, работая с RPM пакетами в твоём дистрибутиве, тебе же будет легче и удобнее. Или мы любим создавать себе препятствия, чтобы потом мужественно их преодолевать? ;)
Поиграйся с переменной LD_LIBRARY_PATH. Приоритет у неё выше, чем у PKG_CONFIG_PATH, поэтому она обрабатывается раньше, и вполне возможно, что путь к старым библиотекам берётся из неё. Например:
LD_LIBRARY_PATH=/usr/local/glib/lib
(или где у тебя там библиотеки новой glib)