Page 1 of 2

relocation error: /usr/lib64/libmyodbc5.so

Posted: Mon Oct 24, 2011 8:36 am
by breun
On a server running CentOS 6.0 x86_64, Plesk 10.3.1 and the MySQL 5.1.59-1 packages from the atomic channel I get '500 - Internal Server Error' when trying to access the Application Vault page under Tools & Utilities in Plesk.

In /var/log/sw-cp-server/error_log I find:
relocation error: /usr/lib64/libmyodbc5.so: symbol strmov, version libmysqlclient_16 not defined in file libmysqlclient_r.so.16 with link time reference
I found http://serverfault.com/questions/318246 ... nt-r-so-16 about this exact error message which suggests dumping all databases and installing the vendor's MySQL packages.

Apparently the /usr/lib64/libmyodbc5.so file is part of the mysql-connector-odbc package:

Code: Select all

# rpm -qf /usr/lib64/libmyodbc5.so
mysql-connector-odbc-5.1.5r1144-7.el6.x86_64
What do you make of this?

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Tue Oct 25, 2011 7:02 pm
by scott
It seems like maybe the odbc library is using a very specific mysql 5.1 api. The good news is that now that 5.1 is in "client" mode making a client library only package to support it isnt a big deal.

The first part is to determine what version it really needs. So the first thing to do is get your hands on older version(s) of the mysql client packages by grabbing the MySQL-shared-community-5.1.X packages from here:

ftp://mirror.anl.gov/pub/mysql/Downloads/MySQL-5.1/

If I had to guess, its probably looking for 5.1.52.

UPDATE:
So my testing here was purely against Mysql 5.5.17, this will install the compat package mysqlclient16-5.1.59-1.el6.art.x86_64. With that version I do not have this same 500 error. Option 2, --force install that package and see what you get.

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Wed Nov 02, 2011 7:15 pm
by breun
I reverted MySQL to the CentOS packages (5.1.52) and the Application Vault page is working again.

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Mon Feb 06, 2012 8:34 pm
by cavecrashx
hi,

i tried install mysqlclient16-5.1.59-1.el6.art.x86_64. from the atomic repo but no avail i still receive the near total failure of plesk


and it seems i am not awesome enough to be able to downgrade mysql to a version that plesk will accept,

any chance i could get some way i could like manually replace the files maybe? or another kind of fix?

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Tue Feb 07, 2012 9:52 am
by Highland
Try replacing php-mysql with php-mysqlnd (which doesn't require mysqlclient). You do have to remove php-mysql first, tho.

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Tue Feb 07, 2012 7:32 pm
by cavecrashx
Highland wrote:Try replacing php-mysql with php-mysqlnd (which doesn't require mysqlclient). You do have to remove php-mysql first, tho.
Looks like thats the way i'm gonna have to go. though wouldn't this perhaps cause issues with plesk?

as when i do yum remove php-mysql it offers to remove plesk and i'm really trying to avoid that as i've had obnoxious amounts of trouble in reinstalling plesk.


i know i being difficult and will resort to shooting plesk in the face if i can't find a way around but well i'd rather not shoot it in the face unless i'm sure it's on it's last legs

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Tue Feb 07, 2012 10:12 pm
by cavecrashx
thanks, for your help i found an alternate way around,


also whats causing this is the APS Catalog it REQUIRES the myodbc5 in such a specific way that it would make mass genocide seem reasonable.

if there is a way to kill aps do it it hates you it hates you in ways you can't even fathom.


i followed this chap

Code: Select all

http://serverfault.com/questions/318246/plesk-libmysqlclient-16-not-defined-in-file-libmysqlclient-r-so-16
but you must also remember to not update mysql using the atomic repo until plesk changes aps_catalog to be reasonable

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Wed Feb 08, 2012 9:22 am
by scott
Which version of mysqlclient16 were you using? mysqlclient16-5.1.59-2 is the latest

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Wed Feb 08, 2012 10:32 am
by cavecrashx
scott wrote:Which version of mysqlclient16 were you using? mysqlclient16-5.1.59-2 is the latest

That looks like the version that installed not sure if it had -2 but was 5.1.59. it outright refused to work even when i hit it with a stick.
it's fine i switched it back to the centos version and it seems happy enough

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Wed Feb 08, 2012 10:46 am
by scott
I mention that because -2 had the strmov() patch in it. -1 did not. Never ignore the release field in an RPM, its just as important as the version field (moreso when you're dealing with backports)

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Wed Feb 08, 2012 10:57 am
by Highland
cavecrashx wrote:
Highland wrote:Try replacing php-mysql with php-mysqlnd (which doesn't require mysqlclient). You do have to remove php-mysql first, tho.
Looks like thats the way i'm gonna have to go. though wouldn't this perhaps cause issues with plesk?

as when i do yum remove php-mysql it offers to remove plesk and i'm really trying to avoid that as i've had obnoxious amounts of trouble in reinstalling plesk.


i know i being difficult and will resort to shooting plesk in the face if i can't find a way around but well i'd rather not shoot it in the face unless i'm sure it's on it's last legs
Breun posted a way around that in another thread
http://atomicorp.com/forum/viewtopic.php?p=32711#p32711

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Sun Feb 26, 2012 4:24 pm
by faris
scott wrote:I mention that because -2 had the strmov() patch in it. -1 did not. Never ignore the release field in an RPM, its just as important as the version field (moreso when you're dealing with backports)
Well, I find myself facing this same problem, only at installation:
Clean Centos 6 install, then install ART MySQL 5.5 + PHP 5.3.9, then install Plesk 10.4 and ignore dire warnings about art repo being enabled, I get:

Code: Select all

 Trying to set up APS controller database... Attempting to check APS db connection via ODBC, using /usr/bin/iusql (empty output is good)
/usr/bin/iusql: relocation error: /usr/lib64/libmyodbc5.so: symbol strmov, version libmysqlclient_16 not defined in file libmysqlclient_r.so.16 with link time reference
So I remember this thread and come and take a look to see if it has the answer.

The problem appears to be that mysqlclient16-5.1.59-2 is not in the ART Centos6 (x86_64) repo. Only the -1 and that's what I have installed. I'm assuming this is what the problem is?

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Sun Feb 26, 2012 6:49 pm
by scott
a ha, good catch! I also noticed the 32-bit library wasnt set up to be duplicates in the 64-bit repo either. It should be going out to all the mirrors now

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Sun Feb 26, 2012 6:56 pm
by faris
Thanks Scott.

Once updated, I'll see what happens with upgrading to 5.5 from whatever Centos6 gave me by default, then I'll re-image and have another go starting from 5.5 tomorrow.

(basically I'm attempting to break as many things as possible by doing things in as many ways as possible, to find the least painful way of installing, upgrading and finally migrating).

Re: relocation error: /usr/lib64/libmyodbc5.so

Posted: Sun Apr 08, 2012 4:23 am
by zonathen
Same thing happening to me on a fresh CentOS6 box... Stuck in a loop since I can't reinstall a mysql database that plesk will work with without killing the atomic repo and uninstalling art php and everything else. Anything I can do here? I'm left with a corrupted mysql database, missing the smb_users table and a not working plesk since it can't connect and finish the install properly. Any help appreciated.