nixp.ru v3.0

16 января 2017,
понедельник,
13:55:09 MSK

DevOps с компанией «Флант»
Ping_Win написал 19 января 2005 года в 15:08 (1161 просмотр) Ведет себя неопределенно; открыл 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. Правильно ли это?)

Спасибо.

Anarchist

Поосторожнее с таким аттракционом как удаление glibc.

Может привести систему в неработоспособное состояние.

По сути вопроса:

Каскадное обновление?.. Какой дистрибутив?

Проще обновить систему с более свежего дистрибутивного диска.

С предварительным бэкапом всех настроек и (рекомендуется) пользовательских данных.

Ping_Win

А разве 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 там отображается, но как удалить старый.

Хочу рискнуть системой.

fly4life

glib и glidc — разные пакеты (Anarchist, наверное, просто невнимательно прочитал ;))

Раз уж у тебя RPM based дистрибутив, то какой смысл устанавливать glib из исходников? Найди RPM пакет с интересующей тебя версией и спомощью команды 'rpm -U' просто обнови этот пакет. Таким образом, старый пакет заменится новым и тебе ничего не придётся делать лишнего (типа удаления старой версии).

Плюс, если вдуг что-то пойдёт не так с новой весией пакета, то с помощью того же rpm можно будет легко откатиться назад до старой версии.

metal
Ping_Win
Добрый день.

Начал их обновлять. Glib-2.5.6 с помощью

Тебе точно нужна версия из нестабильной ветки 2.5?

Затем добавляю переменную PKG_CONFIG_PATH с путем

к новой Glib. Однако при установке Pango выдает, мол

… версия 2.5.6, но обнаружена старая версия 2.0.x,

PKG_CONFIG_PATH — путь к файлам *.pc. У меня /usr/lib/pkgconfig.

Ты его указываешь?

metal
Как мне удалить старую Glib?

(я подумывал о простом удалении всего, что связано с Glib-2.0 из

/usr/bin и /usr/lib. Правильно ли это?)

Лучше поручить удаление (как и установку :) )пакетному менеджеру, но если очень хочется самому, надо удалить старые файлы glib-2.0.pc из /usr/lib/pkgconfig, добавить в PKG_CONFIG_PATH дополнительные пути к новым файлам *.pc — /usr/local/lib/pkgconfig

Ping_Win

Ребята, а для чего же тогда нужны эти tar.gz, если «миром правит» RPM?

По умолчанию PKG_CONFIG_PATH была пустой, но я прописал путь

к /usr/local/glib/lib/pkg-config, где и находятся .pc-файлы.

Просто интересно, как установщик(даже не установщик, а ./configure) другого пакета (pango-xxxx.ta.gz) определяет, что у меня еще стоит старая версия glib, может «порыть» сам configure?

fly4life
Ping_Win
Ребята, а для чего же тогда нужны эти tar.gz, если «миром правит» RPM?

А никто и не утверждал, что «миром правит RPM». Просто у тебя дистрибутив построен на пакетах RPM.

В двух словах: менеджер пакетов rpm следит за зависимостями между пакетами, а также ведёт базу установленных пакетов. Таким образом, во-первых, пакеты легко устанавливать (нужна всего одна команда: rpm -i /path/to/packet.rpm) и удалять (rpm -e packet).

А за программами, установленными вручную из исходников (tar.gz), тебе придётся следить самому. Отсюда, напрмер, проблемы с удалением установленных программ. Придётся искать (вспоминать), куда ты её поставил. Естественно, за всеми установленными с удаляемой программой файлами ты не уследишь, и из-за этого будет копиться «мусор» в твоей системе.

Вобщем, работая с RPM пакетами в твоём дистрибутиве, тебе же будет легче и удобнее. Или мы любим создавать себе препятствия, чтобы потом мужественно их преодолевать? ;)

Ping_Win
По умолчанию PKG_CONFIG_PATH была пустой, но я прописал путь

к /usr/local/glib/lib/pkg-config, где и находятся .pc-файлы.

Просто интересно, как установщик(даже не установщик, а ./configure) другого пакета (pango-xxxx.ta.gz) определяет, что у меня еще стоит старая версия glib, может «порыть» сам configure?

Поиграйся с переменной LD_LIBRARY_PATH. Приоритет у неё выше, чем у PKG_CONFIG_PATH, поэтому она обрабатывается раньше, и вполне возможно, что путь к старым библиотекам берётся из неё. Например:

LD_LIBRARY_PATH=/usr/local/glib/lib

(или где у тебя там библиотеки новой glib)

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.