`libmysqlclient_14' not found

Bulent Tekcan

Well-Known Member
May 11, 2004
185
2
168
cPanel Access Level
Root Administrator
Hello

My server already updateto PHP 5.1.6 and MySql 5.0.24 via WHM.But when I Update Server Software this error occured.

Loaded cPPkgs::MySQL ok!
This is the cPPkgs::MySQL 5.0.24 installer for Linux.
MySQL 5.0.24 is up to date
/usr/local/apache/libexec/libphp4.so: /usr/lib64/libmysqlclient.so.14: version `libmysqlclient_14' not found (required by /usr/local/apache/libexec/libphp4.so)


Any idea for that....
 

freedog96150

Well-Known Member
Mar 25, 2005
68
0
156
Nevada, USA
First make sure that MySQL-Shared is installed. MySQL-shared is what usually installs the *.so files. You can check for installed instances of MySQL-shared by running the following command in an SSH session as root

Code:
rpm -qa MySQL*
or for more detailed information (on a CentOS or RHEL based server)

Code:
yum info MySQL*
If you find that you need to install MySQL-shared, download the version that matches your installation and follow the installation README. I always look for rpm's at rpmfind.net Once you find the correct rpm and download it to your server then it is a simple
Code:
rpm -Uvm MySQL-shared-5.whatever-the actual-file-name-is
and you are done. On a CentOS or RHEL server, you can simply type
Code:
yum install MySQL-shared-filename
.

EDIT: I just reread the question. I see that I missed the boat above. Log into your shell as root and use your favorite text editor to open the following file
Code:
/usr/local/apache/conf/httpd.conf
Look for the following line
Code:
LoadModule php4_module        libexec/libphp4.so
and comment out that line by placing a # in front of the line. Restart Apache with
Code:
service httpd restart
and hopefully the error is gone. Since you are running PHP5.x.x, there is no need to load the PHP4 libraries.
 
Last edited:

isputra

Well-Known Member
May 3, 2003
574
0
166
Mbelitar
EDIT: I just reread the question. I see that I missed the boat above. Log into your shell as root and use your favorite text editor to open the following file
Code:
/usr/local/apache/conf/httpd.conf
Look for the following line
Code:
LoadModule php4_module        libexec/libphp4.so
and comment out that line by placing a # in front of the line. Restart Apache with
Code:
service httpd restart
and hopefully the error is gone. Since you are running PHP5.x.x, there is no need to load the PHP4 libraries.
Do i need to uncomment :

LoadModule php5_module libexec/libphp5.so

and recompile apache again ?
 

DReade83

Well-Known Member
Oct 20, 2006
196
0
166
Cheshire, UK
Log a ticket for the attention of Jesse quoting the following:

Sorry for the long delay in resolving this issue, but it seems it only showed the error without --force option. I have copied the libmysqlclient_14 from another server that had a working copy and the upcp completed without that error.

Let us know if you see otherwise, or if you need anything else.
This fixed the problem and I've not had it since. :)
 

Todd Mitchell

Well-Known Member
Staff member
Nov 13, 2006
301
1
243
Houston, TX
You can usually resolve this by rebuilding apache/phpn with easyapache in order to rebuild the libraries.

This often occurs after you change mysql versions.
 

DReade83

Well-Known Member
Oct 20, 2006
196
0
166
Cheshire, UK
You can usually resolve this by rebuilding apache/phpn with easyapache in order to rebuild the libraries.

This often occurs after you change mysql versions.
Hmm...

Todd, it took (no joke) more than a month and 22 emails back and forth for cPanel staff to sort this one out. What you're suggesting there isn't what your colleagues did... Are you absolutely sure that will work?

The reason why I ask is because your colleagues tried that exact thing you're suggesting 3 times over, in addition to rebuilding MySQL, Apache, PHP, server reboots, other configuration changes I wouldn't have done myself, etc...

The quote I've given there is from YOUR COLLEAGUE!!! What you're suggesting is going against what your colleague has already suggested, which works...

Doesn't make any sense!!!
 
Last edited:

Todd Mitchell

Well-Known Member
Staff member
Nov 13, 2006
301
1
243
Houston, TX
It's not guaranteed to resolve the issue as it depends on the specific issue, however in general the libmysqlclient errors are resolved by rebuilding php.

I'm not sure of the exact situation your server was in, so I can't say exactly why this wasn't done or what was done in resolving the issue. As I said, it greatly depends on each specific server. But in general this resolves it.
 

mtindor

Well-Known Member
Sep 14, 2004
1,516
142
343
inside a catfish
cPanel Access Level
Root Administrator
After initially re-compiling Apache, I still had the same problem as well.

BUT, then I realized that even though I had PHP 4.4.7 checkmarked in the Apache configuration, did NOT have the actual "PHP Module" portion selected. And so it did not actually recompile PHP even though it was recompiling everything else.

So my problem was because I failed to pay attention to what i was doing. As soon as I selected "php module" and selected the PHP version I wanted, and UNcheckmarked where it said "Skip if Up To Date" or whatever, it recompiled fine and everthing is working great now.

I just did this today by the way. And I was stumped when the error came up and was searching the forums and swore I followed all of the directions to a T. I just wasn't actually recompiling PHP support in Apache like I should have been. Working great now.

Mike
 

Todd Mitchell

Well-Known Member
Staff member
Nov 13, 2006
301
1
243
Houston, TX
That can happen. :)

But you are correct, in order for the rebuild to resolve this, php must be rebuilt. This will recreate the properly libraries and linkages for the version of mysql that is running on the server. This almost always happens after a version change within mysql.
 

isputra

Well-Known Member
May 3, 2003
574
0
166
Mbelitar
Hi,

I did what freedog96150 suggested and then recompile apache from easyapache like cPanelTodd suggested but still i have this error when cpanel update software from cron :

---------------
MySQL 5.0.27 is up to date
/usr/local/apache/libexec/libphp4.so: /usr/lib/libmysqlclient.so.14: version `libmysqlclient_14' not found (required by /usr/local/apache/libexec/libphp4.so)
---------------

Please give me more suggestion to fix this problem.
 

maysoft

Well-Known Member
Nov 10, 2005
64
0
156
This is happening due to the bug in cPanel auto-update

1. Go to Update Config in WHM
2. Check "Manual updates" for your version of cPanel
3. Check "manual updates only" for cPanel Package Updates and Security Package Updates.
4. Login into SSH
5. Type /scripts/upcp --force

After cPanel reinstalls, the issue should disappear.

If it won't disappear, just rebuild apache.

To be sure you won't run into such trouble, do this:
mv /scripts/upcp /scripts/upcp.123

This way you disable all kinds of cPanel updates whatsoever.
 

DReade83

Well-Known Member
Oct 20, 2006
196
0
166
Cheshire, UK
maysoft, cPanel themselves don't truly know how to resolve this. From what I can see it's a corruption of one of the library files after upgrading to MySQL 5.x which causes the problem.

Todd's latest response to one of my tickets was:

Php needs to be rebuilt with the mysql 5 libraries in order to resolve this properly.

Do I have permission to rebuild apache/php?
--
Regards,
Todd Shipway
Technical Support
cPanel
Even after I explained this issue can be resolved by replacing the file, Todd wanted to do something different.

Then Cory stepped in with:

Hello,

Let me find that file on a working server and I will move it over, I'll report back to you shortly.

Thanks.
--
Cory McIntire
cPanel Technical Support
Level 1
Followed shortly by:

Hi,

I have uploaded libmysqlclient.so.14.0.0 and symlinked libmysqlclient.so.14 to it. Please confirm that this has fixed your issue, thank you.
--
Cory McIntire
cPanel Technical Support
Level 1
Cory resolved the problem.

Doing a cPanel Update Force doesn't show the error, that's right. However, do a manual update immediately afterwards and the error shows up. You have to phyiscally replace the file with one from a working server to resolve the problem.

I've had to do just that on two separate servers to resolve the issue.
 

isputra

Well-Known Member
May 3, 2003
574
0
166
Mbelitar
Thanks for the info DReade83..

So where i can find the file so i can replace with the working file ?
 

cookiesunshinex

Well-Known Member
Jun 10, 2005
77
0
156
I just had this same error.

And just like the Cpanel guy said, it was right after upgrading from MySQL 4.x to MySQL 5.x.

Editing httpd.conf didn't have the line mentioned above.
running /scripts/upcp --force didn't do anything at all except make httpd not start

I had to edit /usr/local/apache/conf/php.conf: and commenting out the line that says: LoadModule php5_module libexec/libphp5.so

so that I could get apache to start, loaded WHM, and recompiled apache.

I didn't change any settings, i simply just recompiled and it worked like a charm.