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?
Printable View
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?
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?
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!
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:
Code:
#include <QApplication> #include <QPushButton> int main(int argc, char **argv){ QPushButton button; button.setText("Falafel"); button.show(); return app.exec(); }
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?
You need to have a debug version of Qt libs.
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!