Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Jan 2016 09:44:38 -0500
From:      Jim Ohlstein <jim@ohlste.in>
To:        Marius Schamschula <lists@schamschula.com>, Matthew Seaman <m.seaman@infracaninophile.co.uk>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Installing owncloud downgrades mysql57
Message-ID:  <56AB7AD6.6060100@ohlste.in>
In-Reply-To: <413CD012-8261-43C6-AE43-D6B8D231C2BC@schamschula.com>
References:  <937D197D-F170-4222-A028-572692385DE6@schamschula.com> <56AB601E.2080904@infracaninophile.co.uk> <413CD012-8261-43C6-AE43-D6B8D231C2BC@schamschula.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On 1/29/16 9:21 AM, Marius Schamschula wrote:
> Matthew,
>
> Thanks.
>
> On Jan 29, 2016, at 6:50 AM, Matthew Seaman <m.seaman@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.

You're using an outdated ports collection as the current owncloud 
version is 8.2.2. I'm guessing that's why MySQL 5.7 isn't recognized. 
Try upgrading it with portsnap or svn.


>
> 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
>
>
>
-- 
Jim Ohlstein


"Never argue with a fool, onlookers may not be able to tell the 
difference." - Mark Twain



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56AB7AD6.6060100>