After recently upgrading two systems with mysql-workbench 8.0.18 and 8.0.19 installed, the workbench fails to connect to any host, complaining about a missing libmysqlclient_r.so. 17:24:19 [ERR][SQL Editor Form]: SqlEditorForm: exception in do_connect method: Exception: Couldn't load library libmysqlclient_r.so: libmysqlclient_r.so: cannot open shared object file: No such file or directory 17:24:19 [ERR][ GRTDispatcher]: exception in grt execute_task, continuing: Exception: Couldn't load library libmysqlclient_r.so: libmysqlclient_r.so: cannot open shared object file: No such file or directory 17:24:19 [ERR][ GRTDispatcher]: worker: task 'execute sql queries' has failed with error:.Couldn't load library libmysqlclient_r.so: libmysqlclient_r.so: cannot open shared object file: No such file or directory 17:24:19 [ERR][ WQE backend]: Got an exception during connection: Couldn't load library libmysqlclient_r.so: libmysqlclient_r.so: cannot open shared object file: No such file or directory 17:24:19 [ERR][SQL Editor Form]: SQL editor could not be connected: Couldn't load library libmysqlclient_r.so: libmysqlclient_r.so: cannot open shared object file: No such file or directory 17:24:19 [ERR][SQL Editor Form]: Your connection attempt failed for user '**' to the MySQL server at dbc01.**.net:3306: Couldn't load library libmysqlclient_r.so: libmysqlclient_r.so: cannot open shared object file: No such file or directory There was no libmysqlclient_r.so present on the system before the @world upgrade and as far as I can see, no package even provides that anymore. Linking /usr/lib64/libmysqlclient.so to libmysqlclient_r.so "fixes" the issue, but it shouldn't be required as workbench worked fine before. Reproducible: Always
Created attachment 610520 [details] emerge.info
I can't reproduce this issue. Which versions of mysql-connector-c and mysql-connector-c++ do you have installed?
mysql-connector-c++ is on both systems with this same problem at 8.0.19. mysql-connector-c is on one system 8.0.19, on the other it's still 6.1.11-r (it hasn't been upgraded for a while because on that system it has a package conflict)
Downgrading mysql-connector-c++ from 8.0.19 back to previous version 1.1.12-r1 resolves the issue.
Confirming this, downgrade also helps here. The app starts ok with either library but fails to connect to server with newer version of the library.
I experience the same issue, the application starts fine, but when connecting to any database it fails with this error: "Couldn't load library libmysqlclient_r.so: libmysqlclient_r.so: cannot open shared object file: No such file or directory" Downgrading "dev-db/mysql-connector-c++" to "1.1.12-r1" and restarting the application resolved the issue.
I can confirm these issues. I will lock mysql-workbench to the 1.x version for the current versions to avoid these runtime issues.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb3e263468b726f88871ac5e008de020e345bdc7 commit eb3e263468b726f88871ac5e008de020e345bdc7 Author: Hans de Graaff <graaff@gentoo.org> AuthorDate: 2020-02-19 18:54:32 +0000 Commit: Hans de Graaff <graaff@gentoo.org> CommitDate: 2020-02-19 18:58:06 +0000 dev-db/mysql-workbench: fix mysql-connector-c++ version mysql-connector-c++ is not compatible at runtime with mysql-workbench, so lock the dependency to the 1.x version which is compatible. Closes: https://bugs.gentoo.org/707784 Package-Manager: Portage-2.3.84, Repoman-2.3.20 RepoMan-Options: --force Signed-off-by: Hans de Graaff <graaff@gentoo.org> .../mysql-workbench-8.0.16-r1.ebuild | 109 +++++++++++++++++++++ .../mysql-workbench-8.0.19-r1.ebuild | 109 +++++++++++++++++++++ 2 files changed, 218 insertions(+)
There is a simple workaround for >=dev-db/mysql-connector-c++-8.x.x: ln -sv /usr/lib64/libmysqlclient.so /usr/lib64/libmysqlclient_r.so and mysql-workbench works again without any problems, but I don't have any ideas, how to deal this with packaging
(In reply to Alex D-Bug from comment #9) > There is a simple workaround for >=dev-db/mysql-connector-c++-8.x.x: > ln -sv /usr/lib64/libmysqlclient.so /usr/lib64/libmysqlclient_r.so > and mysql-workbench works again without any problems, but I don't have any > ideas, how to deal this with packaging Many people have reported issues connecting to servers with this workaround in place. This really needs to be fixed upstream.
*** Bug 736262 has been marked as a duplicate of this bug. ***
Is this still needed for 8.0.27? It is preventing cleanup.
(In reply to Andreas Sturmlechner from comment #12) > Is this still needed for 8.0.27? It is preventing cleanup. Yes. It looks like this is actually an issue in mysql-connector-c++ itself.