Kamailio Start Up Error with Loading json.so - json

I have a problem starting Kamailio Version 4.3. I installed Kamailio from source, and the modules are stored in the default directory /usr/local/lib64/kamailio/modules. I am using the json module that Kamailio provides but it fails to load.
Kamailio's documentation on the json module is found here:
http://www.kamailio.org/docs/modules/3.4.x/modules/json.html
The documentation states that before the module is loaded you need the required library libjson, which I installed. When I start kamailio and cat the log file via kamailio start; cat /var/log/kamailio.log | grep error I am getting the following error:
Jan 8 12:43:53 localhost kamailio: ERROR: <core> [sr_module.c:576]: load_module(): could not open module </usr/local/lib64/kamailio/modules/json.so>: /usr/local/lib64/kamailio/modules/json.so: undefined symbol: is_error
Jan 8 12:43:53 localhost kamailio: : <core> [cfg.y:3432]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 109, column 12-20: failed to load module
Line 109 is obviously correct:
loadmodule "json.so"
More information:
ldd json.so
linux-vdso.so.1 => (0x00007ffc33e97000)
libjson-c.so.2 => /lib64/libjson-c.so.2 (0x00007f24d8110000)
libc.so.6 => /lib64/libc.so.6 (0x00007f24d7d7c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f24d8527000)
Has anyone else experienced a similar issue, or does anyone know a solution? It is also worth mentioning I am running kamailio on CentOS 6.7.

is_error(p) should be a macro, look inside your json.h file (perhaps at /usr/include/json-c/json.h) and see if it includes "bits.h" from the same folder. Inside bits.h should be defined the macro is_error().
If you don't have that, maybe it is a customized library.
As a side note, an alternative for json operations in kamailio.cfg is using jansson module.

Related

Unable to install couchbase in python on macOs

I am trying to install couchbase on my macOS. I am using pip3 install couchbase to install it.
And I am getting error as
`note: '__uint128_t' declared here
/Library/Developer/C
ommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:76:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
typedef __uint32_t __darwin_useconds_t; /* [???] microseconds */
^
note: '__uint128_t' declared here
In file included from src/bucket.c:18:
In file included from src/pycbc.h:45:
In file included from src/python_wrappers.h:20:
In file included from /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:25:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:64:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/_stdio.h:71:
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/_types.h:43:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
typedef __uint32_t __darwin_wctype_t;
^
note: '__uint128_t' declared here
In file included from src/bucket.c:18:
In file included from src/pycbc.h:45:
In file included from src/python_wrappers.h:20:
In file included from /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8/Python.h:25:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdio.h:64:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/_stdio.h:75:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types/_va_list.h:31:
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/machine/types.h:37:2: error: architecture not supported
#error architecture not supported
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
/private/tmp/pip-install-46t38raq/couchbase_25d29b67ce814e2badeb9f2deaba5d2c/cbuild_config.py:271: UserWarning: Adding /usr/local to lib search path for OS X
warnings.warn('Adding /usr/local to lib search path for OS X')
error: command 'clang' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for couchbase Failed to build couchbase
ERROR: Could not build wheels for couchbase which use PEP 517 and cannot be installed directly
I also tried pip3 install --no-use-pep517 couchbase then also I am getting could not build a wheel for couchbase
I have upgraded my pip to the latest. I have python3.8. I also installed pep517.

unable to install any pkg in Octave

I am new to Octave, coming from Matlab. I am trying to install a few packages, and so far none has worked. I have tried the download method from forge, then running the install command. But my question is about my latest attempt. There it is:
pkg install -global -forge io
csvconcat.cc:79:37: warning: result of comparison of constant 18446744073709551615 with expression of type
'unsigned int' is always true [-Wtautological-constant-out-of-range-compare]
while ((pos=str.find(prot, pos)) != str.npos) {
~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~
1 warning generated.
error: couldn't append to /Applications/Octave-4.4.1.app/Contents/Resources/usr/Cellar/octave-octave-app#4.4.1/4.4.1/share/octave/octave_packages
save: unable to open output file '/Applications/Octave-4.4.1.app/Contents/Resources/usr/Cellar/octave-octave-app#4.4.1/4.4.1/share/octave/octave_packages'
error: called from
install at line 254 column 7
pkg at line 437 column 9
Couldn't find any documentation on it, I am a bit lost.... (oh and btw, I can't find the config.log file! where is that gem?)
I am on MacOS catalina 10.15.7, and just followed that procedure https://flaviocopes.com/fix-xcrun-error-invalid-active-developer-path/, which solved the issues I had before which is described on that page.
cheers for any help
The error:
error: couldn't append to /Applications/Octave-4.4.1.app/Contents/Resources/usr/Cellar/octave-octave-app#4.4.1/4.4.1/share/octave/octave_packages
save: unable to open output file '/Applications/Octave-4.4.1.app/Contents/Resources/usr/Cellar/octave-octave-app#4.4.1/4.4.1/share/octave/octave_packages'
error: called from
install at line 254 column 7
pkg at line 437 column 9
basically says it's failing to save to that file. Probably a permissions issue. Check if the file /Applications/Octave-4.4.1.app/Contents/Resources/usr/Cellar/octave-octave-app#4.4.1/4.4.1/share/octave/octave_packages exists and its permissions. That file is a database of all packages installed globally, i.e., for all users in the system.
Fixing the permission issues is dependent on what is the permissions issue you have (probably you need to run octave as root to install a global package). But maybe try to install the package for your user only, i.e., install the package without the -global flag, like so:
pkg install -forge io

Could not load the file or assembly | Report Builder 3.0

I need to add a custom dll which will provide me with Data Matrix generation but for some reason it gives me this error... Error
It says "Could not load the file or assembly 'C: \ Windows \ System32 \ cruflbcs.dll' or one of its dependencies. The module was expected to contain an assembly manifest."
I added the file to every single folder possible, did the 'regsvr32' command and it gave a successful response.
I'm out of ideas...
Remotely, this file should be pushed to following location:
%ProgramFiles%\Microsoft SQL Server\<VERSION>.MSSQLSERVER\Reporting Services\ReportServer\bin
Locally, this should be placed in the following location:
%ProgramFiles%\Microsoft Visual Studio <VERSION>\Common7\IDE\PrivateAssemblies.

Load new module in Kamailio

I would like to ask, how can I load new module in Kamailio 4.1.2?
Actually, I have an issue, when I tried to compile my kamaiio.cfg
I've got error:
root#kamailio:/usr/local/# kamailio -c kamailio.cfg
loading modules under /usr/local/lib64/kamailio/modules/
0(25392) ERROR: <core> [sr_module.c:587]: load_module(): ERROR: load_module: could not find module <websocket> in </usr/local/lib64/kamailio/modules/>
0(25392) : <core> [cfg.y:3408]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 323, column 12-25: failed to load module
0(25392) ERROR: <core> [cfg.y:3272]: yyparse(): cfg. parser: failed to find command ws_handle_handshake
0(25392) : <core> [cfg.y:3411]: yyerror_at(): parse error in config file /usr/local/etc/kamailio/kamailio.cfg, line 1083, column 27: unknown command, missing loadmodule?
ERROR: bad config file (2 errors)
when I look physically to the /usr/local/lib64/kamailio/modules/ there is some modules, but websocket.so is missing.
So, how can I get and load module in Kamailio?
Thank you for help!
You haven't installed the module websocket. Edit modules.lst file in the source code directory and add websocket to include_modules variable. If you don't have modules.lst, just do:
make cfg
Alternative is to do:
make cfg include_modules="websocket"
By default, the build system for kamailio compiles and install only the modules that have the same dependencies as the core of the application. For websocket you need to install libunistring and openssl (libssl) devel packages.
Steps to load new module to Kamailio server. (Try if above answer is not working for you)
Check the modules is exist in the default module directly /usr/local/lib64/kamailio/modules.
If found, add loadmodule "module_name.so" in load module section in kamailio.cfg file.
If the module is not found in default module directory, you can check for the source code of that module in the default module source code directory /usr/local/src/kamailio-4.4/kamailio/modules.
If source code found, enter to the module directory. Then create modules' shared object file(.so) by following commands.
./configure
make
make test
make install
Then you will get a shared object file(.so). Copy that file into the default module directory. and load this module from the kamailio.cfg file as mentioned in step 1.
If module source code does not exist in the default source code directory, You need to download the source code from the web. And follow step 3 and 4.

mysql error for module DBD::mysql: libmysqlclient.so.15:

i am using mysql for orthomcl software. when i use the command
orthomclLoadBlast my_orthomcl/orthomcl.config my_orthomcl/similarSequence.txt
it gives this error
Can't load '/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.15: cannot open shared object file: No such file or directory at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230, line 5. at /storage/home/cdac/OrthoMCL/orthomclSoftwarev2.0.8/bin/../lib/perl/OrthoMCLEngine/Main/Base.pm line48
Compilation failed in require at /storage/home/cdac/OrthoMCL/orthomclSoftware-v2.0.8/bin/../lib/perl/OrthoMCLEngine/Main/Base.pm line 48, <F> line 5.
How to solve this problem ??
You could install a local perl in your home and you could leave vendor perl untouched.
You could use perlbrew or local::lib to maintain an up to date perl version without modifying the system installed perl.