Проблема с обновлением Pango до версии 1.24 [Решено]
Приплыл сегодня в почту отчет об обновившихся пакетах в портах, которые установлены в системе:
2009-04-13/06:36:06 There are some packages need to upgrade at Daemony.org: ======================================================= + devel/pcre (pcre-7.8) + print/freetype2 (freetype2-2.3.7) + x11/pixman (pixman-0.14.0) + graphics/libGL (libGL-7.4) + lang/ocaml (ocaml-notk-3.10.2_1) + graphics/libGLU (libGLU-7.4) + devel/glib20 (glib-2.18.4) + devel/gio-fam-backend (gio-fam-backend-2.18.4) + x11-toolkits/pango (pango-1.22.4) -- Best regards. Portupgrade monitor on Daemony.org
Решил по-быстренькому обновиться, вроде бы ничего такого. Как результат, получил разрывы на графиках статистики, потому что из-за непонятной ошибки при сборке pango, процесс обновления этого пакета был аварийно прерван.
Я решил удалить pango как пакет, через pkg_delete -f и заново проинсталлить из портов. Да вот незадача. Удалил я его и только потом вспомнил что он нужен для нормальной работы RRDTOOL.
Решил побыстрому вернуть pango на свое место. Да не тут то было. Процесс компиляции снова завершился неудачей:
...
cc -O2 -fno-strict-aliasing -pipe -march=pentiumpro -Wall -o .libs/pango-view viewer-render.o viewer-main.o pango-view.o viewer-pangoft2.o viewer-cairo.o viewer-pangocairo.o -pthread -L/usr/local/lib ../pango/.libs/libpango-1.0.so ../pango/.libs/libpangoft2-1.0.so ../pango/.libs/libpangocairo-1.0.so /usr/ports/x11-toolkits/pango/work/pango-1.24.0/pango/.libs/libpangoft2-1.0.so /usr/ports/x11-toolkits/pango/work/pango-1.24.0/pango/.libs/libpango-1.0.so /usr/local/lib/libgobject-2.0.so /usr/local/lib/libgmodule-2.0.so /usr/local/lib/libglib-2.0.so -licui18n /usr/local/lib/libintl.so /usr/local/lib/libiconv.so /usr/local/lib/libpcre.so /usr/local/lib/libcairo.so -pthread /usr/local/lib/libpixman-1.so /usr/local/lib/libfontconfig.so /usr/local/lib/libfreetype.so /usr/local/lib/libexpat.so /usr/local/lib/libglitz.so -lpng /usr/local/lib/libxcb-render-util.so /usr/local/lib/libxcb-render.so /usr/local/lib/libXrender.so /usr/local/lib/libX11.so /usr/local/lib/libxcb.so /usr/local/lib/libXau.so /usr/local/lib/libXdmcp.so -lrpcsvc -lz -lm -Wl,--rpath -Wl,/usr/local/lib
viewer-cairo.o(.data+0xc): undefined reference to `x_viewer'
gmake[3]: *** [pango-view] Ошибка 1
gmake[3]: Leaving directory `/usr/ports/x11-toolkits/pango/work/pango-1.24.0/pango-view'
gmake[2]: *** [all] Ошибка 2
gmake[2]: Leaving directory `/usr/ports/x11-toolkits/pango/work/pango-1.24.0/pango-view'
gmake[1]: *** [all-recursive] Ошибка 1
gmake[1]: Leaving directory `/usr/ports/x11-toolkits/pango/work/pango-1.24.0'
gmake: *** [all] Ошибка 2
*** Error code 1
Stop in /usr/ports/x11-toolkits/pango.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portinstall20090413-19508-ca8gx7-0 env make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
! x11-toolkits/pango (linker error)
Command failed [exit code 1]: /usr/local/sbin/portinstall x11-toolkits/pango
root #
Если я правильно понимаю, то затык происходит в этом месте:
viewer-cairo.o(.data+0xc): undefined reference to `x_viewer'
Вобщем, пока что остановился на:
# portinstall --use-packages-only pango # pkgdb -F
Встала версия еще старее, чем была - 1.20.5
UPD: 13:10
Решение нашлось .
Pango needed a cairo compiled against a more recent freetype.
Оказывается, для сборки Pango из исходников требуется Cairo, собранный с самой последней версией freetype. Пересобираем через –force cairo, freetype и пытаемся обновлять Pango. Посмотрим, что получится.
# pkg_info | grep cairo cairo-1.8.6_1,1 Vector graphics library with cross-device output support # pkg_info | grep freetype freetype2-2.3.9 A free and portable TrueType font rendering engine # portupgrade --force cairo-1.8.6_1,1 freetype2-2.3.9 pango-1.20.5 ... # pkg_info | grep pango pango-1.24.0_2 An open-source framework for the layout and rendering of i1
Действительно получилось.
Дык, кто ж знал? Ведь Cairo не заявил о необходимости проапгрейдиться…
Похожие публикации
Теги: cairo, error, FreeBSD, freetype, gmake, monitor, pango, portinstall, ports, portupgrade, rrd, rrdtool, осторожно


Спасибо, помогло!
Спасибо.
Кстати, главный ключ здесь -R - рекурсивно обновлять все пакеты, которые зависят от обновляемого пакета. Тоесть, обновить не только pango но и все что его использует.
soulbrat: Приветствую Daemony. Возникла непонятная проблема при сборке rrdtool касающаяся ошибки после сборки pango.Есть сервер Xeon(TM) CPU 3.20GHz установлена FreeBSD 7.0-RELEASE-p11 x 64 (amd64), пересобрано ядро и мир, порты обновлены. На последнем этапе сборки rrdtool вылазит ошибка - gmake[2]: Leaving directory `/usr/ports/x11-toolkits/pango/work/pango-1.24.1′ gmake[1]: Leaving directory `/usr/ports/x11-toolkits/pango/work/pango-1.24.1′ ===> Compressing manual pages for pango-1.24.1 ===> Running ldconfig /sbin/ldconfig -m /usr/local/lib ===> Registering installation for pango-1.24.1 ===> Returning to build of rrdtool-1.3.5_1 Error: shared library “pangocairo-1.0.0″ does not exist *** Error code 1Stop in /usr/ports/databases/rrdtool. *** Error code 1Уже и freetype и pango и cairo все обновлял, бьюсь третий день и ничего не помогает. Гугл молчит. Нет идей на эту тему?
Если кто то столкнеться, то надо было обновить так - portupgrade -Rv pango
и все стало чудненько.
vark, спасибо. Прислушаюсь.
Не обжигался на этом еще ни разу, вот и делал так. Натура такая человеческая - “до первого петуха, клюнувшего в ж…”
Daemony, оччень не советую делать руками симлинки на либы. Для этого лучше использовать libmap.conf.
В случае ручного создания симлинков очень вероятно возникновение грабель много позже - вы уже забудете, зачем делали этот симлинк, да вообще забудете о его существовании… а потом, при обновлении софта, инсталляция будет вылетать по “непонятной причине” (номер после so. может и уменьшаться - это уж как разработчикам захочется); новая либа почему-то будет иметь имя в точности такое, как ваш симлинк, и по причине существования этого файла-симлинка либа не установится. А старая, на которую этот симлинк указывает, уже не существует - её процесс обновления уже вынес :)( вот так вот. На эту граблю наступал в период жизни на FreeBSD 5.5
Я бы попробовал заново удалить pango, cairo, freetype через pkg_delete, обновить порты еще раз и заново попытаться установить rrdtool. Не поможет, просмотреть список файлов, которые устанавливаются в системе вместе с pango на предмет искомой библиотеки… Я иногда решал подобные грабли созданием симлинков. Например, хочет софт библиотеку XXXXX.so.2, но в системе есть XXXXX.so.3. Делаю симлинк. XXXXX.so.3 -> XXXXX.so.2 Обычно прокатывает.
Приветствую Daemony. Возникла непонятная проблема при сборке rrdtool касающаяся ошибки после сборки pango. Есть сервер Xeon(TM) CPU 3.20GHz установлена FreeBSD 7.0-RELEASE-p11 x 64 (amd64), пересобрано ядро и мир, порты обновлены. На последнем этапе сборки rrdtool вылазит ошибка -
Уже и freetype и pango и cairo все обновлял, бьюсь третий день и ничего не помогает. Гугл молчит. Нет идей на эту тему?
You are welcome, lary.
thx for the hint
it’s realy trouble with cairo