Обновление libpng на стабильной ветке
Вольный и очень краткий пересказ этого поста.
Многие наверно уже сталкивались с проблемой апдейта media-libs/libpng-1.2.43-r2 до версии media-libs/libpng-1.4.3
Разработчик Гентоо Diego Pettenò (flameeyes@gentoo.org) рекомендует следующую последовательность действий:
а) Поставить, если еще не стоит, dev-util/lafilefixer ( и запустить его )
lafilefixer --justfixit
б) Дописываем в файл /etc/portage/bashrc следующие строчки (если файл не существует - его нужно создать)
post_src_install() { lafilefixer "${D}" }
в) удаляем страую версию libpng
emerge -C =libpng-1.2*
г) Следующие операции необходимо выполнять в "чистой" консоли, предварительно остановив X-сервер, т.е. графические приложения не должны быть запущены.
Удаляем ( для гарантии) старые ненужные библиотеки
rm -f /usr/lib/libpng12.so*
замените /usr/lib на /usr/lib64 в случае использования 64-битной системы
д) Ставим новую версию библиотеки libpng
emerge -1 =libpng-1.4*
e) И запускаем пересборку необходимых пакетов
revdep-rebuild -- --keep-going
- Блог пользователя - slepnoga
- Для комментирования войдите или зарегистрируйтесь
.
А какие проблемы несет в себе libpng-1.4.x-update.sh?
У меня все нормально стало через него:
emerge libpng && libpng-1.4.x-update.sh && revdep-rebuild -L libpng12.so.0 && rm -f /usr/lib/libpng12.so*
izbushka написал(а): А какие
Так же делал,всё нормально.И скрипт libpng-1.4.x-update.sh, как я понял,запускаеться автоматически после установки.
Это хак, применение которого
Это хак, применение которого неприветствется тем же Диего, хак этот просто меняет втупую везде где видит ссылки на старые библиотеки ссылками на новые. Но если программе реально нужна старая версия libpng, например бинарю то будет несколько странная ситуация. К томуже из-за из за того что скрипт поменял файлик то он останется в системе как мусор после удаления пакета.Сходными с хаком побочными эффектами обладает и lafilefixer, но так как он умнее он проставляет в файлах правильные версии.
Эх ты...
Пересказ/перевод конечно хорошо...
Но и своей головой думать тоже полезно. Хотя бы иногда...
Оно нужно только для (на этапе) обновления
libpng
или полезно в принципе?:wq
--
Live free or die
это полезно всегда, так как
это полезно всегда, так как мягко удаляет ненужные la файлы, в отличие от запуска lafilefixer общесистемно - в этом варианте он поменяет файлы в системе и портаж в последствии их не удалит из-за несовпадения контрольных сумм.
evadim написал(а): это
В актуальных stage'ах оно уже есть?
Только мне кажется, что в этом случае сей ньюанс заслуживает отдельной записи (ИМХО предпочтительнее блог + FAQ, где говорится про полезные программы для работы с
portage
), а не упоминания между делом в рамках вопроса обновленияlibpng
на стабильной ветке?И зачищать их потом вручную, выискивая [например] с помощью
findcruft
'а?:wq
--
Live free or die
Anarchist написал(а): evadim
на эту тему лучше почитать Диего.
Он сильно быстро пишет :)
Он сильно быстро пишет :)
Недавно решил наконец
Недавно решил наконец обновить и столкнулся с этой проблемой. Все рецепты отсюда не помогли, а скриптик запускать не хотелось. Делал lafilefixer, запускал revdep-rebuild и тот валился с
-lpng12 not found
. Тогда я решил пересобрать все пакеты, которые ссылаются на этот самый -lpng12. Использовал вот такую команду, запуская её несколько раз подряд:В конце концов пакетов, ссылающихся на -lpng12, в системе не осталось.
я ни разу не сомневался в
я ни разу не сомневался в твоей гениальности :)
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)