Hello,
I have installed from source version 3.0.1 of Kamailio on an OpenSuSE 10 Linux system.
Currently I am attempting to enable persistence in my Kamailio with the help of MySQL.
In the config file kamailio.cfg I have enabled MySQL as follows
#!define WITH_MYSQL
In the config file db_mysql.so is the first module to be loaded by calling loadmodule, but the module fails to load.
By turning, Kamailio, debugging on I get the following explanation.
0(9858) DEBUG: <core> [sr_module.c:382]: load_module: trying to load </usr/local/lib/kamailio/modules/db_mysql.so> 0(9858) ERROR: <core> [sr_module.c:390]: ERROR: load_module: could not open module </usr/local/lib/kamailio/modules/db_mysql.so>: /usr/local/lib/kamailio/modules/db_mysql.so: undefined symbol: log
Using the unix/linux tool 'nm' I see the following.
mindy:~/tmp # nm /usr/local/lib/kamailio/modules/db_mysql.so | grep log U getlogin@@GLIBC_2.0 U log 001a6e40 R log_10 001e5d00 D log_10_int U log_level_info U log_stderr U syslog@@GLIBC_2.0
And for sure the capital 'U' means undefined. I have also searched the source code that came with the kamailio package, for definitions of 'log'. And it also looks like I'll be in trouble later for log_level_info, log_level_stderr and syslog are undefined too. However, log_level_info I have just found in source files in the kamailio package. So, why isn't it linking in?
Unfortunately, searching on the internet I have not yet come across a forum post that tackles the above issue. As, I suspect everyone else has got the build right.
Have I built db_mysql.so incorrectly? Though I built it using the make files that came with the package.
Is it a case of linking in the appropriate libraries to resolve these undefined symbols?
Finally, I have a colleague who has used the same version of kamailio but installed on a Debian lenny distro. He has been successful in getting db_mysql loaded and persistence enabled. However, he has an older version of mysql (by only one minor-version number) though. Having looked that the changes' history for the two mysql versions, I see no obvious reasons that could be the cause of my failure.
By comparing notes, he did nothing too different than I did. We both followed the instructions in the INSTALL and README files.
There is no particular reason for me using OpenSuSE 10 other than it was already installed and the computer was not being used by anyone. I am considering installing Debian Lenny on my computer to match my colleague, would this be prudent or a waste of time? i.e I may face my same problem because I'm missing a stage?
Regards and thank you, in advance, for any help given.
Pratab
Hello,
should not be a problem to compile and run on opensuse. Can you pull latest git branch kamailio_3.0 and try again? Hints at: http://www.kamailio.org/dokuwiki/doku.php/install:kamailio-3.0.x-from-git
There were some files missing the logging include, hope will solve it -- on debian it was not reported so far. Let me know if works now on opensuse.
Thanks, Daniel
On 4/13/10 3:04 PM, Pratab Ali wrote:
Hello,
I have installed from source version 3.0.1 of Kamailio on an OpenSuSE 10 Linux system.
Currently I am attempting to enable persistence in my Kamailio with the help of MySQL.
In the config file kamailio.cfg I have enabled MySQL as follows
#!define WITH_MYSQL
In the config file db_mysql.so is the first module to be loaded by calling loadmodule, but the module fails to load.
By turning, Kamailio, debugging on I get the following explanation.
0(9858) DEBUG:<core> [sr_module.c:382]: load_module: trying to load </usr/local/lib/kamailio/modules/db_mysql.so> 0(9858) ERROR:<core> [sr_module.c:390]: ERROR: load_module: could not open module</usr/local/lib/kamailio/modules/db_mysql.so>: /usr/local/lib/kamailio/modules/db_mysql.so: undefined symbol: log
Using the unix/linux tool 'nm' I see the following.
mindy:~/tmp # nm /usr/local/lib/kamailio/modules/db_mysql.so | grep log U getlogin@@GLIBC_2.0 U log 001a6e40 R log_10 001e5d00 D log_10_int U log_level_info U log_stderr U syslog@@GLIBC_2.0
And for sure the capital 'U' means undefined. I have also searched the source code that came with the kamailio package, for definitions of 'log'. And it also looks like I'll be in trouble later for log_level_info, log_level_stderr and syslog are undefined too. However, log_level_info I have just found in source files in the kamailio package. So, why isn't it linking in?
Unfortunately, searching on the internet I have not yet come across a forum post that tackles the above issue. As, I suspect everyone else has got the build right.
Have I built db_mysql.so incorrectly? Though I built it using the make files that came with the package.
Is it a case of linking in the appropriate libraries to resolve these undefined symbols?
Finally, I have a colleague who has used the same version of kamailio but installed on a Debian lenny distro. He has been successful in getting db_mysql loaded and persistence enabled. However, he has an older version of mysql (by only one minor-version number) though. Having looked that the changes' history for the two mysql versions, I see no obvious reasons that could be the cause of my failure.
By comparing notes, he did nothing too different than I did. We both followed the instructions in the INSTALL and README files.
There is no particular reason for me using OpenSuSE 10 other than it was already installed and the computer was not being used by anyone. I am considering installing Debian Lenny on my computer to match my colleague, would this be prudent or a waste of time? i.e I may face my same problem because I'm missing a stage?
Regards and thank you, in advance, for any help given.
Pratab
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hello,
As per your suggestion, and following the dokuwiki page, I successfully obtained kamailio using git and rebuilt and installed. But unfortunately I get the same issue, when I execute kamailio using my kamailio script.
Comparing the kamailio files in the GIT download to the ones I already had, I found that they were identical barr the generated object files.
Please make any other suggestions before I decide to go to Debian?
Thanks Pratab.
-----Original Message----- From: Daniel-Constantin Mierla [mailto:miconda@gmail.com] Sent: 14 April 2010 09:49 To: Pratab Ali Cc: sr-users@lists.sip-router.org Subject: Re: [SR-Users] Failure to load module db_mysql.so due to undefined symbol: log
Hello,
should not be a problem to compile and run on opensuse. Can you pull latest git branch kamailio_3.0 and try again? Hints at: http://www.kamailio.org/dokuwiki/doku.php/install:kamailio-3.0.x-from-gi t
There were some files missing the logging include, hope will solve it -- on debian it was not reported so far. Let me know if works now on opensuse.
Thanks, Daniel
On 4/13/10 3:04 PM, Pratab Ali wrote:
Hello,
I have installed from source version 3.0.1 of Kamailio on an OpenSuSE 10 Linux system.
Currently I am attempting to enable persistence in my Kamailio with the help of MySQL.
In the config file kamailio.cfg I have enabled MySQL as follows
#!define WITH_MYSQL
In the config file db_mysql.so is the first module to be loaded by calling loadmodule, but the module fails to load.
By turning, Kamailio, debugging on I get the following explanation.
0(9858) DEBUG:<core> [sr_module.c:382]: load_module: trying to load
</usr/local/lib/kamailio/modules/db_mysql.so> 0(9858) ERROR:<core> [sr_module.c:390]: ERROR: load_module: could not open module</usr/local/lib/kamailio/modules/db_mysql.so>: /usr/local/lib/kamailio/modules/db_mysql.so: undefined symbol: log
Using the unix/linux tool 'nm' I see the following.
mindy:~/tmp # nm /usr/local/lib/kamailio/modules/db_mysql.so |
grep
log U getlogin@@GLIBC_2.0 U log 001a6e40 R log_10 001e5d00 D log_10_int U log_level_info U log_stderr U syslog@@GLIBC_2.0
And for sure the capital 'U' means undefined. I have also searched the
source code that came with the kamailio package, for definitions of 'log'. And it also looks like I'll be in trouble later for log_level_info, log_level_stderr and syslog are undefined too. However, log_level_info I have just found in source files in the kamailio package. So, why isn't it linking in?
Unfortunately, searching on the internet I have not yet come across a forum post that tackles the above issue. As, I suspect everyone else has got the build right.
Have I built db_mysql.so incorrectly? Though I built it using the make
files that came with the package.
Is it a case of linking in the appropriate libraries to resolve these undefined symbols?
Finally, I have a colleague who has used the same version of kamailio but installed on a Debian lenny distro. He has been successful in getting db_mysql loaded and persistence enabled. However, he has an older version of mysql (by only one minor-version number) though. Having looked that the changes' history for the two mysql versions, I see no obvious reasons that could be the cause of my failure.
By comparing notes, he did nothing too different than I did. We both followed the instructions in the INSTALL and README files.
There is no particular reason for me using OpenSuSE 10 other than it was already installed and the computer was not being used by anyone. I
am considering installing Debian Lenny on my computer to match my colleague, would this be prudent or a waste of time? i.e I may face my
same problem because I'm missing a stage?
Regards and thank you, in advance, for any help given.
Pratab
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-- Daniel-Constantin Mierla * http://www.asipto.com/ * http://twitter.com/miconda * http://www.linkedin.com/in/danielconstantinmierla
Pratab Ali wrote:
Hello,
I have installed from source version 3.0.1 of Kamailio on an OpenSuSE 10 Linux system.
Currently I am attempting to enable persistence in my Kamailio with the help of MySQL.
In the config file kamailio.cfg I have enabled MySQL as follows
#!define WITH_MYSQL
In the config file db_mysql.so is the first module to be loaded by calling loadmodule, but the module fails to load.
By turning, Kamailio, debugging on I get the following explanation.
0(9858) DEBUG: <core> [sr_module.c:382]: load_module: trying to load </usr/local/lib/kamailio/modules/db_mysql.so> 0(9858) ERROR: <core> [sr_module.c:390]: ERROR: load_module: could not open module </usr/local/lib/kamailio/modules/db_mysql.so>: /usr/local/lib/kamailio/modules/db_mysql.so: undefined symbol: log
Using the unix/linux tool 'nm' I see the following.
mindy:~/tmp # nm /usr/local/lib/kamailio/modules/db_mysql.so | grep log U getlogin@@GLIBC_2.0 U log 001a6e40 R log_10 001e5d00 D log_10_int U log_level_info U log_stderr U syslog@@GLIBC_2.0
Hello
What libmysqlclient are you using? I can't seem to find anywhere where this log_10_int is declared . It seems to be related to mysql server (my_date.h)...
Can you go to /usr/include/mysql a do a grep for this...
There are ok to be Undefined variables in the module.so . They will be resolved by the linker when dlopen is called.
Marius
Hello
My version of libmysqlclient was installed from this file MySQL-client-community-5.1.43-1.sles10.i586.rpm. So, that'd make it version 5.1.43.1 I'd guess.
Unfortunately, it is the config file parser that is detecting the unresolved symbol and so refusing to run kamailio at all.
Thanks Pratab
-----Original Message----- From: marius zbihlei [mailto:marius.zbihlei@1and1.ro] Sent: 14 April 2010 14:07 To: Pratab Ali Cc: sr-users@lists.sip-router.org Subject: Re: [SR-Users] Failure to load module db_mysql.so due to undefined symbol: log
Pratab Ali wrote:
Hello,
I have installed from source version 3.0.1 of Kamailio on an OpenSuSE 10 Linux system.
Currently I am attempting to enable persistence in my Kamailio with the help of MySQL.
In the config file kamailio.cfg I have enabled MySQL as follows
#!define WITH_MYSQL
In the config file db_mysql.so is the first module to be loaded by calling loadmodule, but the module fails to load.
By turning, Kamailio, debugging on I get the following explanation.
0(9858) DEBUG: <core> [sr_module.c:382]: load_module: trying to load </usr/local/lib/kamailio/modules/db_mysql.so> 0(9858) ERROR: <core> [sr_module.c:390]: ERROR: load_module: could not open module </usr/local/lib/kamailio/modules/db_mysql.so>: /usr/local/lib/kamailio/modules/db_mysql.so: undefined symbol: log
Using the unix/linux tool 'nm' I see the following.
mindy:~/tmp # nm /usr/local/lib/kamailio/modules/db_mysql.so |
grep
log U getlogin@@GLIBC_2.0 U log 001a6e40 R log_10 001e5d00 D log_10_int U log_level_info U log_stderr U syslog@@GLIBC_2.0
Hello
What libmysqlclient are you using? I can't seem to find anywhere where
this log_10_int is declared . It seems to > be related to mysql server (my_date.h)...
Can you go to /usr/include/mysql a do a grep for this...
There are ok to be Undefined variables in the module.so . They will be
resolved by the linker when dlopen is called.
Marius
Pratab Ali wrote:
Hello
My version of libmysqlclient was installed from this file MySQL-client-community-5.1.43-1.sles10.i586.rpm. So, that'd make it version 5.1.43.1 I'd guess.
Unfortunately, it is the config file parser that is detecting the unresolved symbol and so refusing to run kamailio at all.
Hello,
I presume you have also installed MySQL-devel-community-5.1.43-1.sles10.i586.rpm http://rpm.pbone.net/index.php3/stat/4/idpl/13531085/dir/other/com/MySQL-devel-community-5.1.43-1.sles10.i586.rpm.html for the development headers and libraries ...
Can you check if this is also installed . I have tested on Debian with libmysqlclient-dev 5.1.45 and it works. I still wonder about the log_10_int symbol...
Marius