LINUX.ORG.RU

[Qt][OpenGL]undefined symbol

 ,


0

1

Значит так. Портирую я тут одну игрушку на Linux\Meego.
С графикой до этого не сталкивался. Вообще.
При запуске(примитивнейшего проекта с одним QGLWidget) получаю такую хрень:

/usr/lib/libQtOpenGL.so.4: undefined symbol: _ZN14QWidgetPrivate15checkWindowRoleEv

Гугл рассказывает, что некоторые, извините за выражение, программы типа скайпа могут переназначать либы своими корявыми вариантами, но у меня ничего такого нет.
В /etc/ld.so.conf.d ничего лишнего.
Система — Debian.

Выручайте. Видимо где-то неимоверно туплю.

★★☆

Последнее исправление: Stahl (всего исправлений: 1)

Ответ на: комментарий от TERRANZ
ldd ./PinballHDC_meego 
	linux-vdso.so.1 =>  (0x00007fffbafff000)
	libQtOpenGL.so.4 => /usr/lib/libQtOpenGL.so.4 (0x00007f8235d9d000)
	libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0x00007f82350be000)
	libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0x00007f8234c2c000)
	libGLU.so.1 => /usr/lib/libGLU.so.1 (0x00007f82349bb000)
	libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f82347bc000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x00007f823459f000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f823428b000)
	libm.so.6 => /lib/libm.so.6 (0x00007f8234009000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f8233df2000)
	libc.so.6 => /lib/libc.so.6 (0x00007f8233a91000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f8233809000)
	libz.so.1 => /usr/lib/libz.so.1 (0x00007f82335f1000)
	libdl.so.2 => /lib/libdl.so.2 (0x00007f82333ed000)
	libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f82331e3000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f8232ea7000)
	libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f8232c72000)
	libaudio.so.2 => /usr/lib/libaudio.so.2 (0x00007f8232a59000)
	libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00007f823277c000)
	libpng12.so.0 => /lib/libpng12.so.0 (0x00007f8232556000)
	libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f823230f000)
	libSM.so.6 => /usr/lib/libSM.so.6 (0x00007f8232106000)
	libICE.so.6 => /usr/lib/libICE.so.6 (0x00007f8231eeb000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f8231cd9000)
	libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007f8231ad4000)
	librt.so.1 => /lib/librt.so.1 (0x00007f82318cc000)
	libatiuki.so.1 => /usr/lib/libatiuki.so.1 (0x00007f82317c3000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f823608a000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f82315a6000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f823137e000)
	libXt.so.6 => /usr/lib/libXt.so.6 (0x00007f8231119000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f8230f16000)
	libpcre.so.3 => /lib/libpcre.so.3 (0x00007f8230ce6000)
	libuuid.so.1 => /lib/libuuid.so.1 (0x00007f8230ae1000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f82308dc000)

ldd /usr/lib/libQtOpenGL.so.4 
	linux-vdso.so.1 =>  (0x00007fff171ff000)
	libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0x00007f3f4ad15000)
	libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0x00007f3f4a884000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f3f4a5fb000)
	libdl.so.2 => /lib/libdl.so.2 (0x00007f3f4a3f7000)
	libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f3f4a1f8000)
	libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f3f49fed000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f3f49cb2000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f3f4999e000)
	libm.so.6 => /lib/libm.so.6 (0x00007f3f4971b000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f3f49505000)
	libc.so.6 => /lib/libc.so.6 (0x00007f3f491a4000)
	libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f3f48f6e000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x00007f3f48d52000)
	libaudio.so.2 => /usr/lib/libaudio.so.2 (0x00007f3f48b39000)
	libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00007f3f4885c000)
	libpng12.so.0 => /lib/libpng12.so.0 (0x00007f3f48636000)
	libz.so.1 => /usr/lib/libz.so.1 (0x00007f3f4841f000)
	libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f3f481d7000)
	libSM.so.6 => /usr/lib/libSM.so.6 (0x00007f3f47fcf000)
	libICE.so.6 => /usr/lib/libICE.so.6 (0x00007f3f47db4000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f3f47ba1000)
	libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007f3f4799d000)
	librt.so.1 => /lib/librt.so.1 (0x00007f3f47795000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f3f4bce1000)
	libatiuki.so.1 => /usr/lib/libatiuki.so.1 (0x00007f3f4768b000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f3f4746f000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f3f47246000)
	libXt.so.6 => /usr/lib/libXt.so.6 (0x00007f3f46fe2000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f3f46ddf000)
	libpcre.so.3 => /lib/libpcre.so.3 (0x00007f3f46bae000)
	libuuid.so.1 => /lib/libuuid.so.1 (0x00007f3f469aa000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f3f467a4000)

Stahl ★★☆
() автор топика
Ответ на: комментарий от TERRANZ

Qt из репов.
Debian — текущий стабильный.
GL драйвер ATIшный блоб, который может и не работать (как проверить? Мне как-то GL раньше нужен не был, поэтому х.з. что и как).
Разве в случае чего Qt не будет рисовать софтварно?

Stahl ★★☆
() автор топика
Ответ на: комментарий от Stahl

Это всё плохо?

Да. Либо твой Qt испортился, либо где-то стоит еще одна, левая его версия.

Свой проект на этой же машине собирал? Уверен, что слинковался с либами в /usr/lib?

unsigned ★★★★
()
Ответ на: комментарий от Stahl

это плохо, значит ogl не установлен как следует
что делать с ати не знаю, чесно(
там вроде месу надо ставить

TERRANZ ★★★★
()
Ответ на: комментарий от unsigned

Ок, попробую для начала заставить работать драйвер видеокарты.
Что-то с каталистом всё непонятно. Есть что-то из открытого с работающим OpenGL? Может там лучше будет...
Карточка:
01:00.0 VGA compatible controller: ATI Technologies Inc M64-S [Mobility Radeon X2300]
(Приходится на пока на ноуте сидеть)

Stahl ★★☆
() автор топика
Ответ на: комментарий от TERRANZ

Это либы, с которыми программа запускается, а собираться она могла с другими. Если и glxgears падает, то похоже, будто появилась другая версия Qt, прописавшаяся в системе.

Вывод qmake при сборке мог бы помочь.

unsigned ★★★★
()
Ответ на: комментарий от unsigned

неа, это либы с кем слинкован динамически

TERRANZ ★★★★
()
Ответ на: комментарий от Stahl

Короче нифига не понял. Несколько раз уронил Х-ы, еле восстановил как было и ошибка пропала.
Посылаю лучи ненависти компании ATI.
Впрочем с открытым драйвером тоже ничего не получилось. Но с них-то и спроса нет.

Stahl ★★☆
() автор топика

> _ZN14QWidgetPrivate15checkWindowRoleEv
Такие имена С++ дает методам в промежуточном коде на С. В данном случае это метод QWidgetPrivate::checkWindowRoleEv. Уверен, что ты не запускаешь gcc вместо g++?

PayableOnDeath
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.