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 List
sr-users@lists.kamailio.org
https://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