/usr/bin/ld: cannot find -lperconaserverclient_r 解决
编译sqladvisor安装遇到:
[root@localhost sqladvisor]# cd SQLAdvisor/sqladvisor/ [root@localhost sqladvisor]# cmake -DCMAKE_BUILD_TYPE=debug ./ -- Configuring done -- Generating done -- Build files have been written to: /opt/SQLAdvisor/sqladvisor [root@localhost sqladvisor]# make Scanning dependencies of target sqladvisor [100%] Building CXX object CMakeFiles/sqladvisor.dir/main.cc.o Linking CXX executable sqladvisor /usr/bin/ld: cannot find -lperconaserverclient_r collect2: ld returned 1 exit status make[2]: *** [sqladvisor] Error 1 make[1]: *** [CMakeFiles/sqladvisor.dir/all] Error 2 make: *** [all] Error 2
/usr/bin/ld: cannot find -lperconaserverclient_
解决:
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpmyum | apt-get install --enablerepo=Percona56 Percona-Server-shared-56
验证:
[root@localhost sqladvisor]# find / -name *perconaserverclient_r*
/usr/lib64/libperconaserverclient_r.so.18
/usr/lib64/libperconaserverclient_r.so.18.1.0
Linking CXX executable sqladvisor
/usr/bin/ld: cannot find -lperconaserverclient_r
collect2: error: ld returned 1 exit status
make[2]: *** [sqladvisor] Error 1
make[1]: *** [CMakeFiles/sqladvisor.dir/all] Error 2
make: *** [all] Error 2
其实主要是 ln -s libperconaserverclient_r.so.18 libperconaserverclient_r.so 没有成功建立连接(虽然有libperconaserverclient_r.so文件)
参考 https://github.com/Meituan-Dianping/SQLAdvisor/issues/68