# About the version of libreoffice dependent.



## bleakwind (Apr 13, 2019)

I install mysql57 from ports.

```
mysql57-client-5.7.25          Multithreaded SQL database (client)
mysql57-server-5.7.25_1        Multithreaded SQL database (server)
```


Then I install libreoffice use pkg install libreoffice, pkg install want to remove mysql57 and install mysql56.

```
# pkg install libreoffice
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (1 conflicting)
  - mysql56-client-5.6.43 conflicts with mysql57-client-5.7.25 on /usr/local/bin/mysql
Checking integrity... done (0 conflicting)
The following 5 package(s) will be affected (of 0 checked):

Installed packages to be REMOVED:
    mysql57-client-5.7.25
    mysql57-server-5.7.25_1

New packages to be INSTALLED:
    libreoffice: 6.2.2_3
    mysql56-client: 5.6.43

Installed packages to be REINSTALLED:
    pkg-1.10.5_5

Number of packages to be removed: 2
Number of packages to be installed: 2
Number of packages to be reinstalled: 1

The process will require 206 MiB more space.

Proceed with this action? [y/N]:
```


I run this:

```
# pkg set -o databases/mysql56-client:databases/mysql57-client
```

And put this in /etc/make.conf

```
DEFAULT_VERSIONS+= mysql=5.7
```

Nothing help, pkg install still want remove mysql57.


----------



## rigoletto@ (Apr 13, 2019)

In short, if you want to deviate from defaults you should build from ports. It is not a good idea to mix ports and pre-built packages but for this particular case, libreoffice is a leaf, and if nothing more depends on mysql you could probably mix without problems.

`DEFAULT_VERSIONS` is for ports, doesn't work for pre-built packages.


----------



## bleakwind (Apr 13, 2019)

rigoletto@ said:


> In short, if you want to deviate from defaults you should build from ports. It is not a good idea to mix ports and pre-built packages but for this particular case, libreoffice is a leaf, and if nothing more depends on mysql you could probably mix without problems.
> 
> `DEFAULT_VERSIONS` is for ports, doesn't work for pre-built packages.



Thanks for your reply.

By the way, if I run some pkg set,

```
pkg set -o databases/mysql56-client:databases/mysql57-client
```
and I forgot how many, how can I find these changes dependency list.
How can I delete the pkg set change?

And portmaster,

```
portmaster -o databases/mysql57-client databases/mysql56-client
```
How delete the set?


----------



## rigoletto@ (Apr 13, 2019)

To be fair I never used `pkg set -o`. That said, I would just de-install mysql and install again later. 

You could have a look of what `pkg prime-origins` or `pkg prime-list` tell you.

Also, IDK too much about ports-mgmt/portmaster I've briefly used it a couple of years ago, then switched to ports-mgmt/synth for a while, finally ports-mgmt/poudriere; however I *suppose* portmaster just run `pkg set -o` behind the scenes for that particular command.


----------



## free-and-bsd (Apr 15, 2019)

I have the same problem. Besides, I get this message from the installation:



> Message from mysql56-client-5.6.43:
> 
> * * * * * * * * * * * * * * * * * * * * * * * *
> 
> ...


----------



## free-and-bsd (Apr 15, 2019)

bleakwind said:


> ...
> I run this:
> 
> ```
> ...


Your command is wrong , but the right one will be this:

```
# pkg set -o databases/mysql-client:databases/mysql57-client
```
That is, you DON'T want to set databases/mysql56-client to be built from databases/mysql57-client origin. Rather, you set the _default_ one to that.

EDIT: while the above is theoretically correct, there is NO generic package like databases/mysql-client. So this won't work in this case. Neither am I sure this system works any longer, now that flavours have been introduced and supported in ports.


----------



## free-and-bsd (Apr 15, 2019)

Ok, editors/libreoffice has this set in its Makefile:


> USES= mysql:client


Now here's what the manual says about this setting:


> Possible arguments: (none),      _version_,      client (default), server,      embedded
> Provide support for MySQL.  *If no version is given, try to find the current installed version.* *Fall back to the default version, MySQL-5.6.*  The possible      versions are 55, 55m,      55p, 56,      56p, 56w,      57, 57p,      80, 100m,      101m, and 102m.  The      m and p suffixes are for      the MariaDB and      Percona variants of      MySQL.  server and      embedded add a build- and run-time dependency      on the MySQL server.  When using      server or embedded, add      client to also add a dependency on      libmysqlclient.so.  A port can set      IGNORE_WITH_MYSQL if some versions are not      supported.


So, without further investigations, I used this dirty fix: edit Makefile and replace "mysql:client" with "mysql:57,client". Although, per description above, it would be enough to have the right version installed in your system... Well, I was in a hurry and didn't want to take chances and prove to myself that the system indeed works as intended  Terribly sorry for that.

There is one thing I don't get. IF my libreoffice was built while the system installed version of mysql was 56, then WHY would the system, upon the upgrade, build mysql57-server/client instead? The port default version is still 5.6! It must have been, then, that I already had mysql57 installed. But if so, then why didn't libreoffice detect it?? So, I just used this fix. Because putting DEFAULT_VERSION in /etc/make.conf didn't help.


----------



## bleakwind (Apr 21, 2019)

I use ports rebuild libreoffice, ports works with mysql57 fine.


----------

