Ошибка поиска символа при использовании пользовательского .xinitrc - PullRequest
1 голос
/ 21 февраля 2012

Я создал приложение на C для небольшой сенсорной панели под управлением Debian Squeeze. Он компилируется и прекрасно работает на панели в оконном диспетчере icewm по умолчанию, но я бы хотел, чтобы приложение запускалось при загрузке без панели задач или чего-либо еще. Поэтому я создал собственный файл .xinitrc, на котором было написано только мое приложение:

exec cowboys

Теперь, когда я запускаю startx, я получаю следующую ошибку:

cowboys: symbol lookup error: /usr/lib/libgdk-x11-2.0.so.0: undefined symbol: g_malloc_n

Может кто-нибудь сказать мне, что я здесь не так делаю?

Спасибо!

1 Ответ

1 голос
/ 21 февраля 2012

Кажется, что ваш файл libgdk-x11-2.0.so либо 1. не имеет записи DT_NEEDED (ср. readelf -a для libglib-2.0.so.0), либо 2. был построен на достаточном уровне glib-2.0, но разрешение во время выполнения даетслишком старый бойУбедитесь, что у вас нет нечетной переменной LD_LIBRARY_PATH.Запустите ldd для файла gdk-x11, посмотрите, где он находит glib, используйте nm -D для glib, чтобы проверить наличие g_malloc_n.Возможно, проверьте наличие каких-либо нечетных установок glib в вашей системе.

...