![]() |
|
Модераторы: ZeeLax, powerfox |
![]()
|
|
| JekaZZ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 6.10.2005 Репутация: нет Всего: 3 |
На Slackware 12.1 устанавливаю иксы из исходников. Я не брал пакеты из релизов, а просто скачал самые новые пакеты, таким образом, у меня пакеты из последнего релиза Xorg 7.4 и вышедшие после этого релиза обновленные пакеты.
Все конфигурирую с одной опцией --prefix=/usr. Дошел до сборки pixman-0.14.0 и тут ошибка -
Раньше ставил иксы из исходников, но брал все пакеты из Xorg 7.4. И все собиралось отлично. Но иксы имеют большие проблемы с XCB, там постоянно возникают deadlock-и, у меня в том числе. От них нужно срочно избавиться, вот решил попробовать самые новые пакеты. Со времен Xorg 7.4 уже вышли обновленные Xlib, Xcb. У меня собрались без ошибок. А вот на pixman-е заткнулось, к стати, он тоже обновился. Еще я пробовал поставить новые Xlib, Xcb, Xorg-server поверх уже установленного Xorg 7.4. Они собрались и стали нормально, попросив новые версии некоторых зависимостей. Но потом я попробовал пересобрать свою программку, и при сборке вылезла та же ошибка. И что я совсем не понял - так это то, почему я не мог от нее никак избавиться. Для того, чтобы все вернуть назад, я удалил полностью все файлы иксов - они у меня ставятся одним пакетом, на всякий случай в каждых исходниках новых пакетов выполнил make uninstall, заново установил Xorg 7.4 (своим одним пакетом), но при сборке моей программы ошибка осталась!!! Переустановил систему. Теперь вот решил поставить все новые пакеты, а не поверх Xorg 7.4. И здесь эта ошибка! Это сообщение отредактировал(а) JekaZZ - 27.2.2009, 14:49 |
|||
|
||||
| JekaZZ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 6.10.2005 Репутация: нет Всего: 3 |
В Xcb из Xorg 7.4 есть библиотека libxcb.so.1.0.0, посмотрел в неё Midnight Commander-ом - там есть функции _xcb_lock_io, _xcb_unlock_io.
А вот новый Xcb содержит библиотеку libxcb.so.1.1.0, и в ней этих функций нет. К тому же в файле NEWS из исходников нового Xcb написано в пункте Enhancements: Inline _xcb_lock_io, _xcb_unlock_io and _xcb_wait_io. Вот поэтому их нету. Что делать? pixman без них не собирается, а без него не собирается xorg-server. Это сообщение отредактировал(а) JekaZZ - 27.2.2009, 16:24 |
|||
|
||||
| JekaZZ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 6.10.2005 Репутация: нет Всего: 3 |
/usr/lib/libxcb-xlib.so оказался файлом из xcb в составе Xorg 7.4. Я его удалил.
Естесственно, теперь при сборке pixman вылазит ошибка о его отсутствии. И Вот что я нашел в описании нового XCB: The compatibility functions in xcbxlib.h, provided solely for use by Xlib/XCB, now exist in a separate library libxcb-xlib. We don't want to have to change the libxcb soname if we later change or remove the Xlib compatibility functions, and nothing except Xlib/XCB should ever use them. (Applications which use Xlib/XCB do not need this library either; Xlib/XCB only uses it internally.) Я не понял, они имели в виду, что некоторые функции вынесли в отдельную библиотеку libxcb-xlib? Что-то я не нахожу такой. libxcb-xlib.so при сборке нового XCB не формируется, на http://xcb.freedesktop.org/dist/ тоже такой библиотеки нет. |
|||
|
||||
| JekaZZ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 6.10.2005 Репутация: нет Всего: 3 |
Поставил pixman не последний - вместо pixman-0.14.0 поставил pixman-0.13.2, он собрался, xorg-server и драйверы собрались. Но осталась проблема с моей программой. Теперь она при сборке требует libxcb-xlib.la.
Кстати, подскажите, откуда компилятор берет, что программе нужен этот файл? Нигде в исходниках программы он не упоминается. |
|||
|
||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 28 Всего: 317 |
не хочу встревать в эту дискуссию. тихо стою в сторонке....
-------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
| nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 18 Всего: 181 |
JekaZZ, а ты не пробовал собрать иксы (в часности libX11 и mesa) с --disable-xcb? Раз уж тебя проблемы с XCB... Начиная с libxcb-1.1 eсть еще кстати переменная окружения LIBXCB_ALLOW_SLOPPY_LOCK=1 на случай некоторых багов.
Сложно ответить на этот вопрос не зная об этой программе ничего кроме самого факта что она есть и не собирается. Методом чтения файлов по фотографии могу предположить, что зависимость от libxcb прописана в файле /usr/lib/pkgconfig/x11.pc -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
| JekaZZ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 6.10.2005 Репутация: нет Всего: 3 |
Помучавшись с вышеизложенным, так и сделал. Поставил тот же Xorg-7.4, но libX11 собрал без xcb. Это помогло, deadlock-и больше не возникают. Теперь у меня отпадает необходимость ставить что-то новее. Почему сразу так не сделал? Делал, но само по себе это не помогло. Поэтому забросил эту идею. Оказалось, нужно было еще в программе сделать изменения. Там цикл чтения сообщений XEvent был не в главном потоке. Не знаю, от этого или нет, но с libX11 без xcb программа падала, а с xcb программа висла. И только совместные перенесение чтения сообщений в главный поток, и сборка libX11 без xcb решили проблему. |
|||
|
||||
![]()
|
| Правила форума "Linux/UNIX: Oбщие вопросы" | |
|
|
В этом форуме предпочтительны вопросы на следующие темы:
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программное обеспечение под *NIX системы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |