PDA

View Full Version : Problems when installing QT 4 on Solaris



zeki709
8th December 2006, 15:10
I have compiled Qt 4.2.1 on Solaris 9 SPARC, no compile error. The command line program such as qmake and uic running ok, but when I runned any gui (designer, qtdemo) program, the program hanged there.
How can do I?

e8johan
8th December 2006, 19:20
How far does the applications run? Can you run them in a debugging session to get more info? Could it be some sort of problem with your Qt - X11 setup?

zeki709
10th December 2006, 04:50
I tried to compile qt 4.1.4 on solaris. The problem is as same as Qt 4.2.1, here is my truss output:
execve("/usr/local/Trolltech/Qt-4.1.4/bin/qtdemo", 0xFFBFF45C, 0xFFBFF464) argc = 1
resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16
resolvepath("/usr/local/Trolltech/Qt-4.1.4/bin/qtdemo", "/usr/local/Trolltech/Qt-4.1.4/bin/qtdemo", 1023) = 40
stat("/usr/local/Trolltech/Qt-4.1.4/bin/qtdemo", 0xFFBFF230) = 0
open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT
stat("/usr/local/lib/libQtXml_debug.so.4", 0xFFBFED38) Err#2 ENOENT
stat("/usr/local/Trolltech/Qt-4.1.4/lib/libQtXml_debug.so.4", 0xFFBFED38) = 0
resolvepath("/usr/local/Trolltech/Qt-4.1.4/lib/libQtXml_debug.so.4", "/usr/local/Trolltech/Qt-4.1.4/lib/libQtXml_debug.so.4.1.4", 1023) = 57
open("/usr/local/Trolltech/Qt-4.1.4/lib/libQtXml_debug.so.4", O_RDONLY) = 3
mmap(0x00010000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 0xFF3A0000
mmap(0x00010000, 565248, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF300000
mmap(0xFF300000, 421266, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF300000
mmap(0xFF376000, 76452, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 417792) = 0xFF376000
munmap(0xFF368000, 57344) = 0
memcntl(0xFF300000, 128440, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/usr/local/lib/libQtGui_debug.so.4", 0xFFBFED38) Err#2 ENOENT
stat("/usr/local/Trolltech/Qt-4.1.4/lib/libQtGui_debug.so.4", 0xFFBFED38) = 0
resolvepath("/usr/local/Trolltech/Qt-4.1.4/lib/libQtGui_debug.so.4", "/usr/local/Trolltech/Qt-4.1.4/lib/libQtGui_debug.so.4.1.4", 1023) = 57
open("/usr/local/Trolltech/Qt-4.1.4/lib/libQtGui_debug.so.4", O_RDONLY) = 3
mmap(0xFF3A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3A0000
mmap(0x00010000, 10764288, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFE800000
mmap(0xFE800000, 9317987, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFE800000
mmap(0xFF0F2000, 1376692, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 9314304) = 0xFF0F2000
munmap(0xFF0E4000, 57344) = 0
memcntl(0xFE800000, 1940892, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/usr/local/lib/libpng.so.3", 0xFFBFED38) = 0
resolvepath("/usr/local/lib/libpng.so.3", "/usr/local/lib/libpng.so.3.1.2.12", 1023) = 33
open("/usr/local/lib/libpng.so.3", O_RDONLY) = 3
mmap(0xFF3A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3A0000
mmap(0x00010000, 221184, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF2C0000
mmap(0xFF2C0000, 144351, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF2C0000
mmap(0xFF2F2000, 9868, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 139264) = 0xFF2F2000
munmap(0xFF2E4000, 57344) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF390000
memcntl(0xFF2C0000, 24336, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/usr/local/lib/libSM.so.6", 0xFFBFED38) Err#2 ENOENT
stat("/usr/local/Trolltech/Qt-4.1.4/lib/libSM.so.6", 0xFFBFED38) Err#2 ENOENT
stat("/usr/local/Trolltech/Qt-4.1.4/lib/libSM.so.6", 0xFFBFED38) Err#2 ENOENT
stat("/usr/lib/libSM.so.6", 0xFFBFED38) = 0
resolvepath("/usr/lib/libSM.so.6", "/usr/openwin/lib/libSM.so.6", 1023) = 27
open("/usr/lib/libSM.so.6", O_RDONLY) = 3
mmap(0xFF3A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3A0000
mmap(0x00010000, 106496, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF2A0000
mmap(0xFF2A0000, 32503, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF2A0000
mmap(0xFF2B8000, 3632, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 32768) = 0xFF2B8000
munmap(0xFF2A8000, 65536) = 0
memcntl(0xFF2A0000, 9512, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/usr/local/lib/libICE.so.6", 0xFFBFED38) Err#2 ENOENT
stat("/usr/local/Trolltech/Qt-4.1.4/lib/libICE.so.6", 0xFFBFED38) Err#2 ENOENT
stat("/usr/local/Trolltech/Qt-4.1.4/lib/libICE.so.6", 0xFFBFED38) Err#2 ENOENT
stat("/usr/lib/libICE.so.6", 0xFFBFED38) = 0
resolvepath("/usr/lib/libICE.so.6", "/usr/openwin/lib/libICE.so.6", 1023) = 28
open("/usr/lib/libICE.so.6", O_RDONLY) = 3
mmap(0xFF3A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3A0000
mmap(0x00010000, 155648, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF270000
mmap(0xFF270000, 69726, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF270000
mmap(0xFF292000, 4984, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 73728) = 0xFF292000
mmap(0xFF294000, 3960, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF294000
munmap(0xFF282000, 65536) = 0

......
There are so man brk!

wysota
10th December 2006, 11:27
I don't think Johan meant strace output when he mentioned the debug session...

Compile an application (any application) in debug mode, then run it from within a debugger and step through the code until it hangs. Then you'll know what call causes the trouble.

Try this app:

#include <QApplication>
#include <QPushButton>

int main(int argc, char **argv){
QApplication app(argc, argv);
QPushButton button;
button.setText("Falafel");
button.show();
return app.exec();
}

zeki709
21st December 2006, 15:34
I used the solaris dbx to debugger this simplest GUI program. but when I type stop in main, then run, then step, the program hanged at QApplication(argc, argv), but the Qt's source code can't step into.
How can do I?

wysota
21st December 2006, 15:36
You need to have a debug version of Qt libs.

zeki709
10th February 2007, 14:22
Finally, my company buyed a Sun Ultra 45 workstation and I installed Solaris 10. At last, I compiled Qt 4.2.2 sucessfully on this machine. Thanks all who has helped me!