部分bug出现,

安装mariadb之后,编译部分c文件,部分文件执行出现问题:

error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

在别的机器上执行寻找,发现共享库的位置:

find / -name libmysqlclient.so.18

/root/mysql-5.6.12-linux-glibc2.5-x86_64/lib/libmysqlclient.so.18

/usr/lib/x86_64-linux-gnu/libmysqlclient.so.18

重新编译文件出现问题:

Linking CXX executable db_proxy_server

/usr/bin/ld: cannot find -lmysqlclient_r

collect2: error: ld returned 1 exit status

make[2]: *** [proj] Error 1

make[1]: *** [CMakeFiles/proj.dir/all] Error 2

make: *** [all] Error 2

make proj failed


说是安装myclient ,

pip install mysqlclient

pip install --upgrade pip

这个然而除了错误,安装升级不了

执行发现错误:

error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

lrwxrwxrwx 1 root root   17 Jun 23 19:31 libmysqlclient_r.so -> libmysqlclient.so

lrwxrwxrwx 1 root root   20 Jun 23 19:31 libmysqlclient.so -> libmysqlclient.so.18

文件夹下的两个共享库。发现是软连接。发现闪动的 libmysqlclient.so.18是不存在的。用

find / -name  libmysqlclient.so.18

也发现整机不存在该共享库。

最后,发现安装mariadb之后,修改了prefix的安装目录,把mysql安装在/usr/local/mysql下,所以把/usr/local/mysql/lib下的软连接,拷贝到/usrl/lib64之后,发现bug消失。

至于为什么要在/lib64下呢,是因为cMakeLists文件链接了这下面的库文件。