[MySql] relocation error: /usr/lib64/libmyodbc5.so: symbol strmov, version libmysqlclient_16 not defined

When using myDSN and connection to remote DB(MySQL) this issue arise.

Error:

: relocation error: /usr/lib64/libmyodbc5.so: symbol strove  version libmysqlclient_16 not defined in file libmysqlclient_r.so.16 with link time reference


Cause:

this is an issue of back dated odbc-connector. You can check by systems' isql command that it's also returning same error. It's happen when there is a mismatch between the version of, 

mysql-connector-odbc-5.1.5r1144-7.el6.x86_64.rpm
&
MySQL-shared-compat-advanced-5.6.22-1.el6.x86_64


Solution:

Download and install mysql-connector-odbc-5.3.4-1.el6.x86_64.rpm by,

rpm -Uvh mysql-connector-odbc-5.3.4-1.el6.x86_64.rpm

And after that change the following file,


$ vi /etc/odbcinst.ini

[MySQL]
Description             = ODBC for MySQL
Driver          = /usr/lib64/libmyodbc5w.so
Setup           = /usr/lib64/libodbcmyS.so
Driver64                = /usr/lib64/libmyodbc5w.so
Setup64         = /usr/lib64/libodbcmyS.so
FileUsage               = 1

[MySQL ODBC 5.3 Unicode Driver]
Driver          = /usr/lib64/libmyodbc5w.so
UsageCount              = 1

[MySQL ODBC 5.3 ANSI Driver]
Driver          = /usr/lib64/libmyodbc5a.so
UsageCount              = 1

[Node.js] https connection return curl: (35) Unknown SSL protocol error

Error:

curl: (35) Unknown SSL protocol error

Cause: For node.js https connection you are using invalid certificate. Invalid certificate is because the procedure you create the certificate.

Solution: Use the following mechanism to generate certificate and key.

openssl req -x509 -sha256 -newkey rsa:2048 -keyout key.pem -out cert.pem -days XXX


[Node.js] Error: EISDIR, illegal operation on a directory at Error (native)

Error:

fs.js:552  var r = binding.read(fd, buffer, offset, length, position);                  ^Error: EISDIR, illegal operation on a directory    at Error (native)    at Object.fs.readSync (fs.js:552:19)    at Object.fs.readFileSync (fs.js:384:28)    at /usr/eyeball/auth_server/js/server.js:98:15    at Socket.<anonymous> (/usr/eyeball/auth_server/js/util/process.js:11:5)    at Socket.emit (events.js:129:20)    at _stream_readable.js:908:16    at process._tickCallback (node.js:355:11)

This error happen when you use invalid file path for opening and reading using nodejs dependency library fs. 

Solution:

File must be the file path with the file name. Not the file directory.

[Node.Js] squel.js:167 throw _iteratorError2; ^ ReferenceError: Symbol is not defined

When you are using nodejs on RHEL 6.7 with the following version of default RHEL 6.7 repo,

"node":"0.10.41","npm":"1.4.29"

This is basically a version mismatch of squel library with node. So you just need to downgrade the squel version  or upgrade the nodjs version. Upgrading over 0.10.X in RHEL 6.7 is tough without custom build or some online rpm.

Error:

/usr/eyeball/auth_server/node_modules/squel/squel.js:167        throw _iteratorError2;              ^ReferenceError: Symbol is not defined    at _registerValueHandler (/usr/eyeball/auth_server/node_modules/squel/squel.js:148:36)    at Object._buildSquel.cls.registerValueHandler (/usr/eyeball/auth_server/node_modules/squel/squel.js:294:5)    at _buildSquel (/usr/eyeball/auth_server/node_modules/squel/squel.js:1222:7)    at /usr/eyeball/auth_server/node_modules/squel/squel.js:2971:13    at object (/usr/eyeball/auth_server/node_modules/squel/squel.js:5:22)    at Object.<anonymous> (/usr/eyeball/auth_server/node_modules/squel/squel.js:9:2)   at Module._compile (module.js:456:26)    at Object.Module._extensions..js (module.js:474:10)    at Module.load (module.js:356:32)    at Function.Module._load (module.js:312:12)error: Forever detected script exited with code: 8

Solution:
Remove the previous squel by,
npm uninstall squel
Then install the correct version
npm install squel@4.3.3
Thats it!

[MYSQL] relocation error: /usr/lib64/libmyodbc5.so: symbol strove, version libmysqlclient_16 not defined in file ...

Ok, this is an issue of back dated odbc-connector. You can check by systems' isql command that it's also returning same error. It's happen when there is a mismatch between the version of, 

mysql-connector-odbc-5.1.5r1144-7.el6.x86_64.rpm
&
MySQL-shared-compat-advanced-5.6.22-1.el6.x86_64

download and install mysql-connector-odbc-5.3.4-1.el6.x86_64.rpm by,

wget http://ftp.kaist.ac.kr/mysql/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.4-1.el6.x86_64.rpmrpm -Uvh mysql-connector-odbc-5.3.4-1.el6.x86_64.rpm

And after that change the following file,


cat /etc/odbcinst.ini[MySQL]Description             = ODBC for MySQLDriver          = /usr/lib64/libmyodbc5w.soSetup           = /usr/lib64/libodbcmyS.soDriver64                = /usr/lib64/libmyodbc5w.soSetup64         = /usr/lib64/libodbcmyS.soFileUsage               = 1 [MySQL ODBC 5.3 Unicode Driver]Driver          = /usr/lib64/libmyodbc5w.soUsageCount              = 1 [MySQL ODBC 5.3 ANSI Driver]Driver          = /usr/lib64/libmyodbc5a.soUsageCount              = 1