Installing owncloud downgrades mysql57

Marius Schamschula lists at schamschula.com
Fri Jan 29 14:21:29 UTC 2016


Matthew,

Thanks. 

On Jan 29, 2016, at 6:50 AM, Matthew Seaman <m.seaman at infracaninophile.co.uk> wrote:

> On 01/29/16 12:14, Marius Schamschula wrote:
>> I’m new to FreeBSD, but rather familiar to *NIX OSs (20 years of
>> various flavors of Linux, IRIX and (Mac) OS X/Darwin).
>> 
>> I'm attempting to install owncloud-8.2.2 under FreeBSD 10.2.>
>> I previously have installed mysql57 client and server. To my dismay I find
>> 
>> Installed packages to be REMOVED:
>> 	mysql57-server-5.7.10_1
>> 	mysql57-client-5.7.10_1
>> 
>> to be replaced by 
>> 	mysql56-client: 5.6.27
>> 
>> No mention no replacement of mysql56-server. I’m not sure how
>> owncloud is expected to work w/o a working mysql-server. Never mind
>> that there may be backward incompatible changes between mysql56 and
>> mysql57.
> 
> That's one of those things: mysql57-client was removed because it
> conflicts with mysql56-client, and then mysql57-server was removed
> because it depends on mysql57-client.  However, once that happens,
> there's nothing that depends on mysql56-server to bring it in: your
> owncloud application only depends on mysqlXX-client -- which makes sens
> if you think about it: your mysql server could be on an entirely
> different machine and then you'ld be annoyed if you were forced to
> install mysqlXX-server where it wasn't needed.

Make sense.

>> It is somewhat unclear to me where in the dependency tree
>> mysql56-client: 5.6.27 is specified, i.e. if owncloud or one of its
>> dependencies makes this request.
>> 
>> I suppose I could do a mysqldump, and restore into mysql56-server,
>> but I really want to be using the current stable branch (as defined
>> upstream).
>> 
>> Is there any way to specify which version of mysql to use, i.e. a
>> variant? Under MacPorts I’d use something like
>> 
>> port install owncloud +mysql57
>> 
>> (if there were such a package - the case insensitive files system
>> precludes installing owncloud under OS X).
> 
> This is a well known limitation of binary packages under FreeBSD at the
> moment.  Dependencies on exact versions of packages are baked in, which
> means it is particularly hard to use alternate versions of software
> systems like python or php or perl and the system provided packages.
> 
> Mysql as a case in point is always going to be harder to substitute in
> because here the specific dependency is required because of the
> libmysql.so ABI version.
> 
> However, the answer here is to compile your own packages -- effectively
> the same as what you're doing with MacPorts.  To do that, look at this
> section in the Handbook:
> 
> https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports.html
> 
> To prefer ports to build and link against mysql57, add this to the
> DEFAULT_VERSIONS variable in /etc/make.conf:
> 
> DEFAULT_VERSIONS+=  mysql=5.7

Unfortunately, this didn’t work for me. After creating (copying from share/examples) /etc/make.conf and adding DEFAULT_VERSIONS+=  mysql=5.7 to the file, I cded to /usr/ports/www/owncloud and ran

# make install
===>  owncloud-8.0.4 cannot install: unknown MySQL version: 57.
*** Error code 1

Stop.

This is strange, as mysql57-* are still installed. I then commented out the DEFAULT_VERSIONS line in /etc/make.conf and got the same result.

Is there a master list of the allowed versions of mysql, etc.? A quick search did not come up with anything other than https://wiki.freebsd.org/DEFAULT_VERSIONS and Mk/bsd.default-versions.mk which has

MYSQL_DEFAULT?=         5.6

which is exactly what I’m trying to avoid…

I also checked the owncloud Makefile and saw nothing requiring a specific version of mysql.

> (There are many other bits of software you can switch default versions
> in the same way)
> 
> 	Cheers,
> 
> 	Matthew


TIA,

Marius
--
Marius Schamschula









More information about the freebsd-questions mailing list