我电脑是ubuntu14.04,直接apt-get 安装的boost1.55。在安装libMysqLcppconn-dev 这个包的时候提示出了问题
下列软件包有未满足的依赖关系: libMysqLcppconn-dev : 依赖: libboost-dev 但是它将不会被安装然后我又
sudo apt-get install libboost-dev然后又提示
下列软件包有未满足的依赖关系: libboost-dev : 依赖: libboost1.54-dev 但是它将不会被安装 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
怎么办?
sudo apt-cache search libMysqL libMysqLclient-dev - MysqL database development files libMysqLclient18 - MysqL database client library libMysqLcppconn-dev - MysqL Connector for C++ (development files) libMysqLcppconn7 - MysqL Connector for C++ (library) libMysqLd-dev - MysqL embedded database development files libmariadbclient-dev - MariaDB database development files libmariadbd-dev - MariaDB embedded database development files libMysqL++-dev - MysqL C++ library bindings (development) libMysqL++-doc - MysqL C++ library bindings (documentation and examples) libMysqL++3 - MysqL C++ library bindings (runtime) libMysqL-cil-dev - MysqL database connector for CLI libMysqL-diff-perl - module for comparing the table structure of two MysqL databases libMysqL-java - Java database (JDBC) driver for MysqL libMysqL-ocaml - OCaml bindings for MysqL (runtime package) libMysqL-ocaml-dev - OCaml bindings for MysqL (development package) libMysqL6.4-cil - MysqL database connector for CLI libMysqLd-pic - PIC version of MysqL embedded server development files然后安装了libMysqLcppconn7。再执行如下:
apt-get source libMysqLcppconn7 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 0% 正在分析软件包的依赖关系树 正在读取状态信息... 完成 选择 MysqL-connector-c++ 作为源代码包而非 libMysqLcppconn7 需要下载 505 kB 的源代码包。 获取:1 http://mirrors.aliyun.com/ubuntu/ trusty/main MysqL-connector-c++ 1.1.3-5 (dsc) [1,932 B] 获取:2 http://mirrors.aliyun.com/ubuntu/ trusty/main MysqL-connector-c++ 1.1.3-5 (tar) [496 kB] 获取:3 http://mirrors.aliyun.com/ubuntu/ trusty/main MysqL-connector-c++ 1.1.3-5 (diff) [6,642 B] 下载 505 kB,耗时 0秒 (729 kB/s) gpgv: 于 2013年09月01日 星期日 19时20分40秒 CST 创建的签名,使用 RSA,钥匙号 D03E3E70 gpgv: 无法检查签名:找不到公钥 dpkg-source: 警告: 对 ./MysqL-connector-c++_1.1.3-5.dsc 校验签名失败 dpkg-source: info: extracting MysqL-connector-c++ in MysqL-connector-c++-1.1.3 dpkg-source: info: unpacking MysqL-connector-c++_1.1.3.orig.tar.gz dpkg-source: info: unpacking MysqL-connector-c++_1.1.3-5.debian.tar.gz dpkg-source: info: applying libMysqLclient_SONAME.diff dpkg-source: info: applying disable_tests.diff dpkg-source: info: applying attribute_visibility_default_for_exceptions.diff下载下来源码以后,进入这个解压目录,其中有两个目录cppconn driver,直接把cppconn复制到/usr/local/include
然后进入driver目录,把其中的.h文件都提制到/usr/local/include目录下。然后编译的时候又提示没有config.h文件,又从同事那里把config.h文件复制到/usr/local/include目录下,然后编译的时候又提示说找不到llibMysqLcppconn,可是明明有这个文件的啊。没办法,又从同事那里直接把libMysqLcppconn-static.a复制到/usr/local/lib目录下,编译就没有问题了。
我看了一下其它人说的问题,其实libboost-dev是一个虚拟目录,应该指向一个libboost,但是为什么安装了boost1.55后没有这个,我就不清楚了。可能自己新建一个虚拟目录指定libboost1.55,也能解决问题。有时间的时候再去解决这个问题吧。