After a clean system install (CentOS 7) -
Using default 5.1 cfg file this time for testing with these added lines (in proper locations):
loadmodule "geoip2.so"
modparam("geoip2", "path", "/usr/local/share/GeoIP/GeoLite2-City.mmdb")
if (geoip2_match("$si", "src")) {
}
ERROR: <core> [core/sr_module.c:582]: load_module(): could not open module </usr/local/lib64/kamailio/modules/geoip2.so>: libmaxminddb.so.0: cannot open shared object file: No such file or directory
CRITICAL: <core> [core/cfg.y:3447]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 241, column 12-22: failed to load module
ERROR: <core> [core/modparam.c:152]: set_mod_param_regex(): No module matching <geoip2> found
CRITICAL: <core> [core/cfg.y:3450]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 291, column 71: Can't set module parameter
ERROR: <core> [core/cfg.y:3310]: yyparse(): cfg. parser: failed to find command geoip2_match (params 2)
CRITICAL: <core> [core/cfg.y:3450]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 457, column 31: unknown command, missing loadmodule?
CRITICAL: <core> [core/cfg.y:3450]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 458, column 2: syntax error
CRITICAL: <core> [core/cfg.y:3450]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 458, column 2:
INFO: <core> [core/sctp_core.c:53]: sctp_core_destroy(): SCTP API not initialized
(Starts fine without the above config lines)
# ls -l /usr/local/lib64/kamailio/modules/ | grep geo
-rwxr-xr-x 1 root root 73800 Dec 16 01:44 geoip2.so
ls -l /usr/local/share/GeoIP | grep Geo
-rw-r--r-- 1 root root 63478091 Dec 15 23:08 GeoLite2-City.mmdb
version: kamailio 5.1.0 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT,
USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled on 23:13:35 Dec 15 2017 with gcc 4.8.5
# uname -r
3.10.0-693.el7.x86_64
Again, I have working fine on another host, that does have a different kernel version / other packages.
Any ideas?
-dan
From: sr-users [mailto:sr-users-bounces@lists.kamailio.org]
On Behalf Of Daniel W. Graham
Sent: Friday, December 15, 2017 11:08 AM
To: miconda@gmail.com; Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Subject: Re: [SR-Users] 5.0 to 5.1 - No module matching <geoip2> found
I noticed that there were SE contexts applied to pretty much all folders, /usr/bin/lib (where my
libmaxminddb lives) /usr/local/sbin and even /usr/local/src/.
The security context applied was: unconfined_u:object_r:usr_t:s0
I haven’t figured out what caused this, as I have systems without this behavior. My guess is it is related to disabling selinux after the build was complete. Despite my efforts resetting SE linux and removing
contexts from affected files the problem persists. I’ve removed all install and src files, built again and the same problem persisted.
As far as the script errors, there are none. The cfg file is in active operation on other hosts. If I leave the
IFDEF/ENDIF statements active and comment out only the statements related to geoip Kamailio starts fine.
A system rebuild will fix but I thought this behavior was odd and there could be a way to fix.
-dan
From: Daniel-Constantin Mierla [mailto:miconda@gmail.com]
Sent: Friday, December 15, 2017 4:19 AM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>; Daniel W. Graham <dan@cmsinter.net>
Subject: Re: [SR-Users] 5.0 to 5.1 - No module matching <geoip2> found
Hello,
On 15.12.17 05:12, Daniel W. Graham wrote:
Its installed and was working prior to the 5.1 upgrade.
I got the module error fixed. For whatever reason there was an SE context applied to the libmaxminddb.* files that was killing permissions. I was able to reset them. SE linux was disabled prior and is currently.
interesting and good to know that SE linux behaves like this ... could you find a reason for this restriction by SE linux, like the file being in a specific folder?
I still get -
ERROR: <core> [core/pvapi.c:903]: pv_parse_spec2(): error searching pvar "gip2"
ERROR: <core> [core/pvapi.c:1107]: pv_parse_spec2(): wrong char [s/115] in [$gip2(src=>cc)] at [6 (5)]
loading modules under config path: /usr/local/lib64/kamailio/modules/
CRITICAL: <core> [core/cfg.y:3447]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 560, column 8-21: Can't get from cache: $gip2(src=>cc)
WARNING: <core> [core/ppcfg.c:221]: pp_ifdef_level_check(): different number of preprocessor directives: N(#!IF[N]DEF) - N(#!ENDIF) = 1
Can you check the blocks IFDEF/ENDIF to be sure you have matching pairs?
Cheers,
Daniel
Daniel W. Graham, CTO
CMSInter.net LLC
DIRECT (989) 400-4230
INTERNET | TELEPHONE | MANAGED IT
From: sr-users [mailto:sr-users-bounces@lists.kamailio.org] On Behalf Of Joel Serrano
Sent: Thursday, December 14, 2017 11:01 PM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Subject: Re: [SR-Users] 5.0 to 5.1 - No module matching <geoip2> found
You need to have libmaxminddb library installed.
What OS are you using?
If deb based:
$ dpkg -l | grep maxmind
If rpm based:
$ rpm -qa | grep maxmind
Cheers,
Joel.
On Thu, Dec 14, 2017 at 12:24 Daniel W. Graham <dan@cmsinter.net> wrote:
Upgraded two installs to 5.1.
- Same cfg file from 5.0
- No issues with install 1
Install 2 results in:
ERROR: <core> [core/modparam.c:152]: set_mod_param_regex(): No module matching <geoip2> found
CRITICAL: <core> [core/cfg.y:3450]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 343, column 71: Can't set module parameter
ERROR: <core> [core/sr_module.c:582]: load_module(): could not open module </usr/local/lib64/kamailio/modules/geoip2.so>: libmaxminddb.so.0: cannot open shared object file: No such file or directory
CRITICAL: <core> [core/cfg.y:3447]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 122, column 12-22: failed to load module
WARNING: <core> [core/ppcfg.c:221]: pp_ifdef_level_check(): different number of preprocessor directives: N(#!IF[N]DEF) - N(#!ENDIF) = 1
ls -l /usr/local/lib64/kamailio/modules/ | grep geo
-rwxr-xr-x 1 root root 73800 Dec 14 12:44 geoip2.so
If I copy cfg file from install 2 to install 1, no issues with install 1.
Any idea what could be going wrong?
- dan
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________Kamailio (SER) - Users Mailing Listsr-users@lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - www.asipto.com
Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com