I'm using KDE 3.0.5 (CVS) with qt 3.0.4 + gcc 3.1, I tried
to compile the most recent CVS version of kxicq2 today.
I've followed exactly the how-to on compiling CVS on
your website.
First, the sources could not be compiled out of the box
with gcc 3.1. gcc 3.1 complains about a few .cpp files
with duplicated function arguments (not sure if I've
named it correctly, I dunno much about programming)
Take kxicq/ui/kxrequestwidget.cpp with its
kxrequestwidget.h for example... when gcc 3.1 compiles
the file, make bails out with...
g++ -I. -I. -I../.. -I. -I. -I../.. -I/opt/kde/include \
-I/gui/qt/include -I/gui/X11R6/include -I../../icons/icq \
-I../../kxicq -I../../kxicq/wm -I../../kxicq/ui \
-I../../kxicq/engine -I../../kxicq/widgets \
-I../../kxicq/widgets/checklistbox \
-DQT_THREAD_SUPPORT -D_REENTRANT -g -O2 \
-Wall -c -o kxrequestwidget.o `test -f \
'kxrequestwidget.cpp' || echo './'`kxrequestwidget.cpp
kxrequestwidget.cpp:29: default argument given for
parameter 4 of `
kxRequestWidget::kxRequestWidget(QWidget*, const
char*, bool, unsigned int =
0)'
kxrequestwidget.h:26: after previous specification in `
kxRequestWidget::kxRequestWidget(QWidget* = 0,
const char* = 0, bool =
FALSE, unsigned int = 0)'
make: *** [kxrequestwidget.o] Error 1
Personally I've solved it by changing line 28-29 of
kxrequestwidget.cpp to
so that nothing is duplicated, I've solved other compile
failures in the same way. I dunno if I'm correct or not tho..
And then it comes to a launching failure. KXicq2 CVS
starts correctly for the first few seconds, but after it's
connected to the ICQ server, it dies with segmentation
fault. I'm not sure if it's becoz I've messed around the
code, but I report it anyways.
I've strace-ed the crash, here's the last few (well not just
few) lines of the strace that I think may be worth to look
at
Yes I run kxicq as root here
gettimeofday({1024721134, 606520}, NULL) = 0
select(14, [3 4 6 7 9 11 13], [13], NULL, {0, 345220}) = 2
(in [13], out [13], left {0, 350000})
write(13, "*\2\25V\0\n", 6) = 6
write(13, "\0\4\0\4\0\0\0\0\0\0", 10) = 10
read(13, "*\2\255u\n^", 6) = 6
read(13,
"\0\23\0\6\0\1\0\0\0\0\0\0o\0\0\0\0\0\0\0\1\0\f\0\310\0"...,
2654) = 2654
brk(0x837a000) = 0x837a000
access("/root/.kde/share/apps/kxicq2/contacts.kxicq",
W_OK) = 0
lstat64("/root/.kde/share/apps/kxicq2/contacts.kxicq",
{st_mode=S_IFREG|0600, st_size=55, ...}) = 0
getuid32() = 0
access("/root/.kde/share/apps/kxicq2/contacts.kxicq",
W_OK) = 0
open("/root/.kde/share/apps/kxicq2/contacts.kxicqM2VUbb.new",
O_RDWR|O_CREAT|O_EXCL, 0600) = 15
umask(0) = 022
umask(022) = 0
chmod("/root/.kde/share/apps/kxicq2/contacts.kxicqM2VUbb.new",
0600) = 0
getgid32() = 0
getuid32() = 0
chown32(0x8377140, 0, 0) = 0
fchmod(15, 0600) = 0
fcntl64(15, F_GETFL) = 0x2 (flags
O_RDWR)
fstat64(15, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x177c000
_llseek(15, 0, [0], SEEK_CUR) = 0
write(15, "[Default]\nCount=0\n\n[Groups]\nSave"..., 55) =
55
close(15) = 0
munmap(0x177c000, 4096) = 0
rename("/root/.kde/share/apps/kxicq2/contacts.kxicqM2VUbb.new",
"/root/.kde/share/apps/kxicq2/contacts.kxicq") = 0
rename("/root/.kde/share/apps/kxicq2/contacts.kxicqM2VUbb.new",
"/root/.kde/share/apps/kxicq2/contacts.kxicq") = -1
ENOENT (No such file or directory)
unlink("/root/.kde/share/apps/kxicq2/contacts.kxicqM2VUbb.new")
= -1 ENOENT (No such file or directory)
--- SIGSEGV (Segmentation fault) ---
rt_sigaction(SIGALRM, {SIG_DFL}, {SIG_DFL}, 8) = 0
alarm(3) = 0
write(2, "KCrash: crashing.... crashRecurs"..., 47KCrash:
crashing.... crashRecursionCounter = 2
) = 47
getpid() = 709
write(2, "KCrash: Application Name = kxicq"...,
60KCrash: Application Name = kxicq path = <unknown>
pid = 709
) = 60
fork() = 24770
Unable to start dr. konqi
--- SIGCHLD (Child exited) ---
It seems to me that it tried to create a temporary file,
renamed it twice, and then tried to delete the
no-longer-exist temporary file and finally caught an error.
I dunno... I just hope this helps
Logged In: NO
same here, hopefully somebody gets to solve this problem