1. 程式人生 > >解決/usr/bin/ld: cannot find -lmysqlclient錯誤

解決/usr/bin/ld: cannot find -lmysqlclient錯誤

類似/usr/bin/ld: cannot find -xxxx的錯誤有很多, 首先我們可以最簡單的判斷一下:

這類情況一般是由於缺乏某某庫檔案, 又或者可能是由於已存在的庫問題版本不對造成的

一般都是解決的辦法就是安裝缺乏的devel包就可以解決, 當然還有其他的未知因素, 我們看一個例項:

我在一臺裝centos5.2 x86_64的系統上配置php環境, 提示這個錯誤

"/usr/bin/ld: cannot find -lmysqlclient"

於是我安裝了

# yum -y install mysql-devel

結果提示依舊, 我根據提示檢視config.log

/usr/bin/ld: skipping incompatible /usr/local/mysql/lib/libmysqlclient.so when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/local/mysql/lib/libmysqlclient.a when searching for -lmysqlclient
/usr/bin/ld: cannot find -lmysqlclient

她還是去找/usr/local/mysql/lib/libmysqlclient.so, 我來把這個錯的換成對了, 剛才裝了mysql-devel, 那麼在/usr/lib64下就多了一個mysql的目錄

# cd /usr/local/mysql
# mv lib lib.bak
# ln -s /usr/lib64/mysql /usr/local/mysql/lib (給他做個軟連結)

然後再次編譯安裝php, 一切正常!

======================

事實上我用的CentOS5.3 遇到同樣問題,但用上面的方法沒有解決,usr/lib64/mysql 是空的。但這篇文章啟發了我,應該是32與64位之間的問題。我把mysql相關rpm的64位版除了server之外都裝了一遍,問題解決。呵呵。