在 Ubuntu 中搞砸了 libmysqlclient-dev

在 Ubuntu 中搞砸了 libmysqlclient-dev

我弄乱了 /usr/lib 中的符号链接和库。我修改了 libmysql* 等库。有人建议重新安装 libmysqlclient-dev 包。libmysqlclient-dev 是否​​包含 Mysql 库?

我如何强制重新安装 libmysqlclient-dev?

我正在使用 Ubuntu Server 10.04 和最新的 Mysql 5.1.x。我需要使用服务器来托管 Rails 应用程序,并且需要编译 mysql2 gem,但失败了。

更新

我已删除 /usr/lib 下的 libmysql* 文件和 mysql 目录。然后我清除并重新安装了 mysql 服务器、客户端和 libmysqlclient-dev,但我得到:

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

我需要知道哪个包安装了共享库以及如何修复它。

答案1

用来dpkg -S找出文件/usr/lib/libmysqlclient.so.16来自哪个包,我不认为它来自libmysqlclient-dev,而是来自libmysqlclient,该dpkg -S命令是为了验证它的来源......

卸载并重新安装生成的软件包。重新安装后,运行ldconfig以强制系统重建其中的符号链接结构/usr/lib

编辑

刚刚快速安装了 10.04 进行验证。/usr/lib/libmysqlclient.so.16来自包libmysqlclient16。所以回到你的问题:不,包中libmysqlclient-dev没有你要找的库。

卸载:

sudo apt-get purge libmysqlclient16

安装:

sudo apt-get install libmysqlclient16

该包的安装也应该触发的运行ldconfig

答案2

这些是用于在 Ubuntu 上使用 Ruby 安装 MySQL 的安装命令。

sudo apt-get install mysql-server mysql-client
sudo apt-get install libmysql-ruby libmysqlclient-dev
sudo gem install mysql

引用自 Ubuntu 社区网站: https://help.ubuntu.com/community/RubyOnRails

答案3

libmysqlclient-dev 库包含通常存储在下的开发文件(标题)/usr/include/这里,你可以看到提供的大部分文件都是.h文件。当你想从源代码构建应用程序时,这样的库很有用。

您可以尝试删除该软件包并重新安装。此方法无效,您可能需要尝试手动修复您所做的操作。

$ sudo apt-get purge libmysqlclient-dev    # remove completely with configs
$ sudo apt-get install libmysqlclient-dev

相关内容