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