[sr-dev] sercmd segfaults
Juha Heinanen
jh at tutpro.com
Thu Oct 8 15:23:14 CEST 2009
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 at 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 at taimen:/usr/src/trunk-src/sip-proxy/utils/sercmd$ root
root at 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
More information about the sr-dev
mailing list