Hello, I don' get this: I installed py-MySQLdb via the port, with mysql56 installed via pkg beforehand. This went fine. ``pkg info py27-MySQLdb'' reports: py27-MySQLdb-1.2.3_4 Name : py27-MySQLdb Version : 1.2.3_4 Installed on : Wed Sep 3 21:10:49 UTC 2014 Origin : databases/py-MySQLdb Architecture : freebsd:10:x86:64 Prefix : /usr/local Categories : python databases Maintainer : python at FreeBSD.org WWW : http://sourceforge.net/projects/mysql-python/ Comment : Access a MySQL database through Python Options : DOCS : on MYSQLCLIENT_R : on Shared Libs required: libpython2.7.so.1 libmysqlclient.so.18 Shared Libs provided: _mysql.so This is the exact same output I get when I install with ``pkg install py27-MySQLdb'', yet the pkg version does not accept mysql56, but insists on mysql55, the fact that both use libmysqlclient.so.18 notwithstanding. How do I handle this?, i. e. how do I, can I, manually change the dependency mysql55-client-5.5.39 to mysql56-client-5.6.20 ? I have to use mysql56, does this mean I have to install the python module via the port? And consequently always take care that pkg while upgrading does not downgrade the mysql client to 55 ( and completely remove the server component while it's at it? )? More: After installing the python module via the port, pkg show it as depending on mysql56: root at m2:/usr/ports/databases/py-MySQLdb # pkg info -d py27-MySQLdb py27-MySQLdb-1.2.3_4: python27-2.7.8_4 python2-2_3 py27-setuptools27-5.5.1 mysql56-client-5.6.20 yet: root at m2:/usr/ports/databases/py-MySQLdb # pkg upgrade [...] New packages to be INSTALLED: mysql55-client: 5.5.39 Installed packages to be REINSTALLED: py27-MySQLdb-1.2.3_4 (direct dependency changed) I'm sort of not getting this at all. Michael
On Sep 3, 2014, at 3:52 PM, Michael Ross <gmx at ross.cx> wrote:> Hello, > > I don' get this:I'm not a *BSD user (yet), but in the Linux world, a port is source code to be compiled, usually with additional helpful info in the make file about dependencies, where to install is, a known-working config file, and stuff like that. A pkg is a pre-compiled binary, almost always with lots of info for the install program like with the port. The advantage of a port is that you can modify the make file. The advantage of a pkg is that it almost always runs, somewhat reasonably, and a lot of the work is already done. -- Glenn English
On Wed, Sep 3, 2014 at 5:52 PM, Michael Ross <gmx at ross.cx> wrote:> This is the exact same output I get when I install with ``pkg install > py27-MySQLdb'', > yet the pkg version does not accept mysql56, but insists on mysql55, > the fact that both use libmysqlclient.so.18 notwithstanding. > > How do I handle this?, i. e. how do I, can I, manually change the > dependency > mysql55-client-5.5.39 > to > mysql56-client-5.6.20 > ? > > I have to use mysql56, does this mean I have to install the python module > via the port? >A package can (currently?) only be built against a single version of a dependency; if it was built against mysql55-client, it can't be also built for mysql56-client. You'll need to use the port, which can be built against anything that provides the necessary build time dependency. (It might be possible to force the package to install, but this is asking for trouble in the future.) -- brandon s allbery kf8nh sine nomine associates allbery.b at gmail.com ballbery at sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net