# Использование revdep-rebuild

## ZmiyGorinich

Возник вопрос. Как часто надо пользоваться revdep-rebuild и с какими параметрами?

----------

## dish

Смысл простой. Ты часто делаешь emerge --deep world?

Я ее пользую после emerge --deep --newuse --update world.

----------

## ZmiyGorinich

Раз в неделю обновляю портаже и потом соответственно emerge -uD world  :Smile: 

А запускать просто revdep-rebuild? или есть какие-то подводные камни в использовании? Система никогда не ляжет?  :Smile: 

----------

## dish

Здесь написано, что все может быть. Зависимости -- штука жуткая  :Smile: 

----------

## ZmiyGorinich

Спасибо... будем пробовать

----------

## doonkel

Семь раз отмерь, один раз отреж. Особенно когда это касается libxxx.

----------

## ZmiyGorinich

А точнее? Какой у меня есть выбор если revdep-rebuild хочет перекомпилировать?

----------

## viy

revdep-rebuild надо использовать тогда, когда разработчики какого-либо из пакетов решили изменить (повысить как правило) версию shared библиотек, которые этот пакет предоставляет. Возникает ситуация, когда фактически зависимости пакетов удовлетворены (с точки зрения emerge), но все зависимые пакеты перестают работать, т.к. используемая shared библиотека отсутствует.

Пример: PostgreSQL Global Development Team забыли повысить версию libpq.so при выпуске 8.0 версии postgres'а. Ошибку решили исправить в релизе 8.0.2. Итого --- ставим postgresql-8.0.2, emerge удовлетворен. Однако (в моем случае), php, mod_php, samba и exim перестают работать --- старой libpq.so.3 больше нет, зато появилась libpq.so.4.

Запускаем (как подсказывает emerge после установки postgresql'а) revdep-rebuild --soname 'libpq.so.3', пересобираем все, что зависит от старой версии libpq. Все опять работает.

Выбора два. Точнее один, т.к. в любом случае надо перекомпилировать: либо перекомпилировать пакет без заморочек, либо подправить USE-флаги так, чтобы впредь не возникало подобных ситуаций. Хотя второй вариант не всегда приемлем...

----------

## ZmiyGorinich

Спасибо за точный и информативный ответ  :Smile: 

----------

