i just built kamailio on debian squeeze from master and when i tried to start it, i got:
0(19113) ERROR: <core> [sr_module.c:572]: ERROR: load_module: could not open module </usr/lib/sip-proxy/modules/utils.so>: /usr/lib/sip-proxy/modules/utils.so: undefined symbol: curl_easy_getinfo
built when fine without errors. when i look deb/squeeze build-depends, it lists
libcurl3-openssl-dev
however, debian squeeze does not have that package. instead it has libcurl4-openssl-dev:
# apt-get install libcurl3-openssl-dev Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'libcurl4-openssl-dev' instead of 'libcurl3-openssl-dev' libcurl4-openssl-dev is already the newest version.
a week or so ago i didn't have this problem. any suggestions?
-- juha
Perhaps there is a tool that give the required includes and libs, look for curl-config or pkgconfig. For pkgconfig you to see if it support libcurl -- you can list the supported packages via a command line option, don't remember it by hart.
If you find one of these tools in the system with support for curl library, then print the cflags and libs and see if the module is linked against them. Then best is to update Makefile of the utils module to use such tool -- it already does that for libxml2.
Cheers, Daniel
On 12/5/12 10:02 AM, Juha Heinanen wrote:
i just built kamailio on debian squeeze from master and when i tried to start it, i got:
0(19113) ERROR: <core> [sr_module.c:572]: ERROR: load_module: could not open module </usr/lib/sip-proxy/modules/utils.so>: /usr/lib/sip-proxy/modules/utils.so: undefined symbol: curl_easy_getinfo
built when fine without errors. when i look deb/squeeze build-depends, it lists
libcurl3-openssl-dev
however, debian squeeze does not have that package. instead it has libcurl4-openssl-dev:
# apt-get install libcurl3-openssl-dev Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'libcurl4-openssl-dev' instead of 'libcurl3-openssl-dev' libcurl4-openssl-dev is already the newest version.
a week or so ago i didn't have this problem. any suggestions?
-- juha
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
Daniel-Constantin Mierla writes:
Perhaps there is a tool that give the required includes and libs, look for curl-config or pkgconfig. For pkgconfig you to see if it support libcurl -- you can list the supported packages via a command line option, don't remember it by hart.
If you find one of these tools in the system with support for curl library, then print the cflags and libs and see if the module is linked against them. Then best is to update Makefile of the utils module to use such tool -- it already does that for libxml2.
that gets too complicated to me. when i use Makefile before commit
fc98e3f18e01f7376156a97366e355dcb43efecb
to build modules/utils my sip proxy starts fine.
so perhaps ovidiu can figure out why debian build of utils stopped working after the commit.
-- juha
Daniel-Constantin Mierla writes:
If you find one of these tools in the system with support for curl library, then print the cflags and libs and see if the module is linked against them. Then best is to update Makefile of the utils module to use such tool -- it already does that for libxml2.
perhaps there is a bug here:
ifeq ($(CROSS_COMPILE),) XML2CFG=$(shell which xml2-config) endif
fneq ($(XML2CFG),) DEFS += $(shell $(XML2CFG) --cflags ) LIBS += $(shell $(XML2CFG) --libs) else DEFS+=-I$(LOCALBASE)/include/libxml2 \ -I$(LOCALBASE)/include LIBS+=-L$(LOCALBASE)/lib -lcurl -lxml2 endif
in my debian which xml2-config
$ which xml2-config /usr/bin/xml2-config
if i read the above correctly, it means that the else part is not executed leaving the curl stuff out altogether.
-- juha
Hello Juha,
The utils module has an extra dependency on libcurl, which i overlooked when I fixed cross compilation. I pushed a fix. Please test it and let me know if it's working for you now.
-ovidiu
On Wed, Dec 5, 2012 at 4:52 AM, Juha Heinanen jh@tutpro.com wrote:
Daniel-Constantin Mierla writes:
If you find one of these tools in the system with support for curl library, then print the cflags and libs and see if the module is linked against them. Then best is to update Makefile of the utils module to use such tool -- it already does that for libxml2.
perhaps there is a bug here:
ifeq ($(CROSS_COMPILE),) XML2CFG=$(shell which xml2-config) endif
fneq ($(XML2CFG),) DEFS += $(shell $(XML2CFG) --cflags ) LIBS += $(shell $(XML2CFG) --libs) else DEFS+=-I$(LOCALBASE)/include/libxml2 \ -I$(LOCALBASE)/include LIBS+=-L$(LOCALBASE)/lib -lcurl -lxml2 endif
in my debian which xml2-config
$ which xml2-config /usr/bin/xml2-config
if i read the above correctly, it means that the else part is not executed leaving the curl stuff out altogether.
-- juha