From:
[email protected]
For further studies I built a debug version of qt and tried the "solution" mentioned in #264928. It does definitely not work. Qt has its own code to create the exact library name. So the original code QLibrary gl ("GL") is absolutely correct. Trying the "solution" makes Qt search for a library
called "liblibGL.so.1" as the debug output shows:
(gdb) list
111 };
112
113 bool qt_resolve_gl_symbols(bool fatal)
114 {
115 static bool gl_syms_resolved = FALSE;
116 if (gl_syms_resolved)
117 return TRUE;
118
119 // QLibrary gl ("GL");
120 QLibrary gl ("libGL.so.1");
(gdb) n
120 QLibrary gl ("libGL.so.1");
(gdb)
122 gl.setAutoUnload(FALSE);
(gdb)
124 qt_glCallLists = (_glCallLists) gl.resolve("glCallLists");
(gdb) s
QLibrary::resolve (this=0xbffff910, symb=0x4078552b "glCallLists") at tools/qlibrary.cpp:227
227 if ( !d->pHnd )
(gdb)
228 load();
(gdb)
QLibrary::load (this=0xbffff910) at tools/qlibrary.cpp:320
320 return d->loadLibrary();
(gdb)
QLibraryPrivate::loadLibrary (this=0x8061cd0) at tools/qlibrary_unix.cpp:109 109 if ( pHnd )
(gdb)
112 QString filename = library->library();
(gdb) n
114 pHnd = dlopen( filename.latin1(), RTLD_LAZY );
(gdb) p filename
$1 = {static null = {static null = <same as static member of an already seen type>, d = 0x804c108,
static shared_null = 0x804c108}, d = 0x8061e48, static shared_null = 0x804c108}
(gdb) p filename.latin1()
$2 = 0x8061d60 "liblibGL.so.1.so"
(gdb)
I don't know the reason for the problems reported in #264928 but changing the Qt strategy for finding the OpenGL library causes Qt to malfunction
WR
--
To UNSUBSCRIBE, email to
[email protected]
with a subject of "unsubscribe". Trouble? Contact
[email protected]
--- SoupGate-Win32 v1.05
* Origin: you cannot sedate... all the things you hate (1:229/2)