Andrei Pelinescu-Onciul writes:
It looks like a linker or a compiler problem
(__do_global_dtors_aux
is called on exit and should call all the global/libraries destructors).
Did you change the compiler or linker recently?
no, same old debian lenny.
Coul you try:
cd utils/sercmd; make proper ; make
and see if it still crashes?
no, if i build like that, it doesn't crash:
make proper ; make
config.mak included
config.mak included
readline detected (/usr/include/readline/readline.h)
command completion enabled
config.mak included
readline detected (/usr/include/readline/readline.h)
command completion enabled
gcc -g -O9 -funroll-loops -Wcast-align -m32 -minline-all-stringops -falign-loops
-ftree-vectorize -fno-strict-overflow -mtune=athlon64 -Wall
-DNAME='"sip-proxy_ctl"' -DVERSION='"0.2"'
-DUSE_READLINE -c parse_listen_id.c -o parse_listen_id.o
gcc -g -O9 -funroll-loops -Wcast-align -m32 -minline-all-stringops -falign-loops
-ftree-vectorize -fno-strict-overflow -mtune=athlon64 -Wall
-DNAME='"sip-proxy_ctl"' -DVERSION='"0.2"'
-DUSE_READLINE -c sercmd.c -o sercmd.o
gcc -m32 -Wl,-O2 -Wl,-E parse_listen_id.o sercmd.o -lresolv -lsctp -lreadline -lncurses
-o sip-proxy_ctl
jh@taimen:/usr/src/trunk-src/sip-proxy/utils/sercmd$ ls
EXAMPLES makecfg.lst parse_listen_id.d README sercmd.o
librpath.lst Makefile parse_listen_id.h sercmd.c sip-proxy_ctl*
license.h parse_listen_id.c parse_listen_id.o sercmd.d TODO
jh@taimen:/usr/src/trunk-src/sip-proxy/utils/sercmd$ root
root@taimen:/usr/src/trunk-src/sip-proxy/utils/sercmd# ./sip-proxy_ctl
sip-proxy_ctl 0.2
Copyright 2006 iptelorg GmbH
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
sip-proxy_ctl> quit
If it crashes, try editing config.mak (in the main
dir) and remove
-m32 from everywhere it appears (or -m64 if you don't have -m32) and
then try again (this is the only change, -m32 is now added
automatically on 32 bits).
Could you also send me your compiler version, the output of
ldd sercmd and the output of d utils/sercmd; make proper ; make
(the gcc command lines)?
but it still crashes when i build debian package that includes
sercmd (renamed to sip-proxy_ctl). compilation then goes like this:
make[3]: Entering directory `/usr/trunk-src/src/sip-proxy/utils/sercmd'
gcc -fPIC -DPIC -g -O2 -DNAME='"sip-proxy_ctl"'
-DVERSION='"0.2"' -DUSE_READLINE -c parse_listen_id.c -o
parse_listen_id.o
gcc -fPIC -DPIC -g -O2 -DNAME='"sip-proxy_ctl"'
-DVERSION='"0.2"' -DUSE_READLINE -c sercmd.c -o sercmd.o
gcc -shared -m32 -Wl,-O2 -Wl,-E parse_listen_id.o sercmd.o -lreadline -lncurses -o
sip-proxy_ctl
as you see, there is quite a lot of differences in gcc params. why is
that? in my debian/rules i have this kind of compilation command:
$(MAKE) cfg CC=$(CC) CFLAGS="$(CFLAGS)" MAIN_NAME=$(MAIN_NAME)
basedir=$(BASEDIR) prefix=/usr cfg_prefix=$(BASEDIR) cfg_target=/etc/sip-proxy/
modules="$(MODULES)" modules_s="$(MODULES_S)"
modules_k="$(MODULES_K)"
and each time when i build debian package, sip-router source is copied
fresh from git source.
-- juha