Hi, all!
I am currently involved in a research work which aims at optimizing the SIP stack, and we
chose SER -0.9.6 as our researching platform. we need to profile SER to find out which
part(parser? network? transactions? ) consumes the most CPU cycles. However, tools like
gprof and Intel Vtune's sampling tool can not show any information about the functions
in dynamically loaded modules, such as tm, registrar. So, a possible solution seems to
build in these modules into the core statically.
I tried to do what the INSTALL doc says, compling with the following command:"make
static_modules=tm PROFILE=-pg all", the final part of the result shows:
......
make[1]:***[callid.o] Error 1
make[1]: Leaving directory '/....../SER/ser-0.9.6/modules/tm'
gcc -Wl,-02 -Wl, -E -pg action.o crc.o .....modules/tm/dlg.o, modules/tm/h_table.o
.....modules/tm/uac_unixsock.o -
gcc: modules/tm/callid.o:No such file or directory
gcc: modules/tm/h_table.o:No such file or directory
...
gcc: modules/tm/uac_unixsock.o:No such file or directory
make: **[ser] Error 1
And if I proceed to type: make install
the result shows:
sr_module.o(.text+0xbc): In function 'register_builtin_modules':
/.../ser-0.9.6/sr_module.c:89: undefined reference to 'tm_exports'
collect2:ld returned 1 exit status
make: ***[ser] Error 1
I am working with SER 0.9.6
And the linux kernel used in my machine is:
Linux 2.6.9-22.ELsmp
the OS used is Redhat 9
if anyone has tried the same thing or knows the solution, please let me know.Thanks very
very much!
Jacqueline Zou