Bug #84347 MySQL Workbench Dependency Errors (conflict w/ MS SQLTools) Prevent Installation
Submitted: 27 Dec 2016 16:10 Modified: 20 Jan 2017 19:43
Reporter: Thomas Ward Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Workbench Severity:S2 (Serious)
Version:6.3.8-1ubu1604 OS:Ubuntu (Ubuntu 16.04)
Assigned to: CPU Architecture:Any
Tags: dependencies

[27 Dec 2016 16:10] Thomas Ward
Description:
On an Ubuntu 16.04 machine with the MSSQL tools from Microsoft installed on it, it is not possible to install MySQL Workbench from the package.

This is due to a dependencies conflict, as detailed below:

% sudo dpkg -i ./mysql-workbench-community-6.3.8-1ubu1604-amd64.deb
Selecting previously unselected package mysql-workbench-community.
(Reading database ... 224707 files and directories currently installed.)
Preparing to unpack .../mysql-workbench-community-6.3.8-1ubu1604-amd64.deb ...
Unpacking mysql-workbench-community (6.3.8-1ubu1604) ...
dpkg: dependency problems prevent configuration of mysql-workbench-community:
 mysql-workbench-community depends on libodbc1 (>= 2.3.1); however:
  Package libodbc1 is not installed.
 mysql-workbench-community depends on odbcinst1debian2 (>= 2.3.1); however:
  Package odbcinst1debian2 is not installed.
dpkg: error processing package mysql-workbench-community (--install):
 dependency problems - leaving unconfigured

When looking specifically at these two packages, these two versions conflict with the corresponding '-utf16' versions of the package.

How to repeat:
Follow the steps to install MSSQL Tools on Ubuntu 16.04 (see http://askubuntu.com/questions/850957/how-do-i-install-mssql-server-and-or-tools-for-linux...).

Then attempt to install the MySQL Workbench package.

Suggested fix:
Attempt to make MySQL workbench work with libodbc1-utf16 and odbcinst1debian2-utf16 to allow MySQL Workbench to operate correctly.
[27 Dec 2016 16:55] Thomas Ward
Please note that The MS SQL Tools for Linux need the 'utf16' format of those library packages; there is no option to switch to a different version.
[7 Jan 2017 22:54] Miguel Solorzano
Thank you for the bug report. Not sure if this could be considered a WorkBench bug however I wasn't able to repeat:

miguel@miguel:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.1 LTS
Release:	16.04
Codename:	xenial
miguel@miguel:~$ docker stop mssql
mssql
miguel@miguel:~$ docker start mssql
mssql
miguel@miguel:~$ docker ps -af name=mssql
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                    NAMES
9bd2267b56dd        microsoft/mssql-server-linux   "/bin/sh -c /opt/mssq"   9 minutes ago       Up 19 seconds       0.0.0.0:1433->1433/tcp   mssql
miguel@miguel:~$ 

miguel@miguel:~$ sudo apt-get install mysql-workbench
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libevent-core-2.0-5 linux-headers-4.4.0-45 linux-headers-4.4.0-45-generic linux-image-4.4.0-45-generic linux-image-extra-4.4.0-45-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libgdal1i libmysqlclient20 libmysqlcppconn7v5 mysql-workbench-data python-mysql.connector
Recommended packages:
  mysql-utilities
The following NEW packages will be installed:
  libgdal1i libmysqlclient20 libmysqlcppconn7v5 mysql-workbench mysql-workbench-data python-mysql.connector
0 upgraded, 6 newly installed, 0 to remove and 5 not upgraded.
Need to get 14,7 MB of archives.
After this operation, 116 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://repo.mysql.com/apt/ubuntu xenial/mysql-5.7 amd64 libmysqlclient20 amd64 5.7.17-1ubuntu16.04 [841 kB]
Get:2 http://br.archive.ubuntu.com/ubuntu xenial/universe amd64 libgdal1i amd64 1.11.3+dfsg-3build2 [4.013 kB]
Get:3 http://br.archive.ubuntu.com/ubuntu xenial/universe amd64 libmysqlcppconn7v5 amd64 1.1.7-0ubuntu1 [226 kB]                                                                 
Get:4 http://br.archive.ubuntu.com/ubuntu xenial/universe amd64 mysql-workbench-data all 6.3.6+dfsg-0ubuntu1 [1.286 kB]                                                          
Get:5 http://br.archive.ubuntu.com/ubuntu xenial/universe amd64 python-mysql.connector all 2.0.4-1 [86,9 kB]                                                                     
Get:6 http://br.archive.ubuntu.com/ubuntu xenial/universe amd64 mysql-workbench amd64 6.3.6+dfsg-0ubuntu1 [8.287 kB]                                                             
Fetched 14,7 MB in 27s (544 kB/s)                                                                                                                                                
Selecting previously unselected package libmysqlclient20:amd64.
(Reading database ... 243118 files and directories currently installed.)
Preparing to unpack .../libmysqlclient20_5.7.17-1ubuntu16.04_amd64.deb ...
Unpacking libmysqlclient20:amd64 (5.7.17-1ubuntu16.04) ...
Selecting previously unselected package libgdal1i.
Preparing to unpack .../libgdal1i_1.11.3+dfsg-3build2_amd64.deb ...
Unpacking libgdal1i (1.11.3+dfsg-3build2) ...
Selecting previously unselected package libmysqlcppconn7v5.
Preparing to unpack .../libmysqlcppconn7v5_1.1.7-0ubuntu1_amd64.deb ...
Unpacking libmysqlcppconn7v5 (1.1.7-0ubuntu1) ...
Selecting previously unselected package mysql-workbench-data.
Preparing to unpack .../mysql-workbench-data_6.3.6+dfsg-0ubuntu1_all.deb ...
Unpacking mysql-workbench-data (6.3.6+dfsg-0ubuntu1) ...
Selecting previously unselected package python-mysql.connector.
Preparing to unpack .../python-mysql.connector_2.0.4-1_all.deb ...
Unpacking python-mysql.connector (2.0.4-1) ...
Selecting previously unselected package mysql-workbench.
Preparing to unpack .../mysql-workbench_6.3.6+dfsg-0ubuntu1_amd64.deb ...
Unpacking mysql-workbench (6.3.6+dfsg-0ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ...
Setting up libmysqlclient20:amd64 (5.7.17-1ubuntu16.04) ...
Setting up libgdal1i (1.11.3+dfsg-3build2) ...
Setting up libmysqlcppconn7v5 (1.1.7-0ubuntu1) ...
Setting up mysql-workbench-data (6.3.6+dfsg-0ubuntu1) ...
Setting up python-mysql.connector (2.0.4-1) ...
Setting up mysql-workbench (6.3.6+dfsg-0ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...
[7 Jan 2017 22:58] Miguel Solorzano
Sorry now I noticed my install command installed version: Setting up mysql-workbench (6.3.6+dfsg-0ubuntu1) .. How you tried to install version 6.3.8?. Thanks.
[7 Jan 2017 23:08] Miguel Solorzano
Alright tried again and I was able to install 6.3.8:

miguel@miguel:~/Downloads$ sudo apt-get install mysql-workbench-community 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libevent-core-2.0-5 linux-headers-4.4.0-45 linux-headers-4.4.0-45-generic linux-image-4.4.0-45-generic linux-image-extra-4.4.0-45-generic
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  mysql-workbench-community
0 upgraded, 1 newly installed, 0 to remove and 5 not upgraded.
Need to get 18,5 MB of archives.
After this operation, 142 MB of additional disk space will be used.
Get:1 http://repo.mysql.com/apt/ubuntu xenial/mysql-tools amd64 mysql-workbench-community amd64 6.3.8-1ubu1604 [18,5 MB]
Fetched 18,5 MB in 2s (8.077 kB/s)                    
Selecting previously unselected package mysql-workbench-community.
(Reading database ... 244503 files and directories currently installed.)
Preparing to unpack .../mysql-workbench-community_6.3.8-1ubu1604_amd64.deb ...
Unpacking mysql-workbench-community (6.3.8-1ubu1604) ...
Replacing files in old package mysql-workbench (6.3.6+dfsg-0ubuntu1) ...
Replacing files in old package mysql-workbench-data (6.3.6+dfsg-0ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Setting up mysql-workbench-community (6.3.8-1ubu1604) ...
miguel@miguel:~/Downloads$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.1 LTS
Release:	16.04
Codename:	xenial
miguel@miguel:~/Downloads$ docker ps -af name=mssql
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                    NAMES
9bd2267b56dd        microsoft/mssql-server-linux   "/bin/sh -c /opt/mssq"   24 minutes ago      Up 15 minutes       0.0.0.0:1433->1433/tcp   mssql
[20 Jan 2017 19:37] Thomas Ward
Yes, I've tried 6.3.8 (please read the VERSION field here on the bug).

Still getting errors.

------

FULL logs:

[overlord /home/teward/Downloads]% dpkg -i ./mysql-workbench-community-6.3.8-1ubu1604-amd64\ \(1\).deb =
dpkg: error: requested operation requires superuser privilege
[overlord /home/teward/Downloads]% sudo dpkg -i ./mysql-workbench-community-6.3.8-1ubu1604-amd64\ \(1\).deb =
Selecting previously unselected package mysql-workbench-community.
(Reading database ... 229448 files and directories currently installed.)
Preparing to unpack .../mysql-workbench-community-6.3.8-1ubu1604-amd64 (1).deb ...
Unpacking mysql-workbench-community (6.3.8-1ubu1604) ...
dpkg: error processing archive = (--install):
 cannot access archive: No such file or directory
dpkg: dependency problems prevent configuration of mysql-workbench-community:
 mysql-workbench-community depends on libodbc1 (>= 2.3.1); however:
  Package libodbc1 is not installed.
 mysql-workbench-community depends on libtinyxml2.6.2v5; however:
  Package libtinyxml2.6.2v5:amd64 is not installed.
 mysql-workbench-community depends on odbcinst1debian2 (>= 2.3.1); however:
  Package odbcinst1debian2 is not installed.

dpkg: error processing package mysql-workbench-community (--install):
 dependency problems - leaving unconfigured
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Errors were encountered while processing:
 =
 mysql-workbench-community
[overlord /home/teward/Downloads]% sudo apt-get purge mysql-workbench-community  
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  mysql-workbench-community*
0 upgraded, 0 newly installed, 1 to remove and 23 not upgraded.
1 not fully installed or removed.
After this operation, 142 MB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 230721 files and directories currently installed.)
Removing mysql-workbench-community (6.3.8-1ubu1604) ...
Purging configuration files for mysql-workbench-community (6.3.8-1ubu1604) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
[overlord /home/teward/Downloads]% sudo dpkg -i ./mysql-workbench-community-6.3.8-1ubu1604-amd64.deb
Selecting previously unselected package mysql-workbench-community.
(Reading database ... 229448 files and directories currently installed.)
Preparing to unpack .../mysql-workbench-community-6.3.8-1ubu1604-amd64.deb ...
Unpacking mysql-workbench-community (6.3.8-1ubu1604) ...
dpkg: dependency problems prevent configuration of mysql-workbench-community:
 mysql-workbench-community depends on libodbc1 (>= 2.3.1); however:
  Package libodbc1 is not installed.
 mysql-workbench-community depends on libtinyxml2.6.2v5; however:
  Package libtinyxml2.6.2v5:amd64 is not installed.
 mysql-workbench-community depends on odbcinst1debian2 (>= 2.3.1); however:
  Package odbcinst1debian2 is not installed.

dpkg: error processing package mysql-workbench-community (--install):
 dependency problems - leaving unconfigured
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Errors were encountered while processing:
 mysql-workbench-community
[overlord /home/teward/Downloads]% sudo apt-get install -f --dry-run
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following package was automatically installed and is no longer required:
  libtinyxml2.6.2v5
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  libtinyxml2.6.2v5
The following packages will be REMOVED:
  mysql-workbench-community
The following NEW packages will be installed:
  libtinyxml2.6.2v5
0 upgraded, 1 newly installed, 1 to remove and 23 not upgraded.
1 not fully installed or removed.
Remv mysql-workbench-community [6.3.8-1ubu1604]
Inst libtinyxml2.6.2v5 (2.6.2-3 Ubuntu:16.04/xenial [amd64])
Conf libtinyxml2.6.2v5 (2.6.2-3 Ubuntu:16.04/xenial [amd64])
[overlord /home/teward/Downloads]% sudo apt-get install --dry-run libodbc1 libtinyxml2.6.2v5:amd64 odbcinst1debian2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libodbc1-utf16 : Conflicts: libodbc1 but 2.3.1-4.1 is to be installed
 odbcinst1debian2 : Depends: odbcinst
 odbcinst1debian2-utf16 : Conflicts: odbcinst1debian2 but 2.3.1-4.1 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

---

Some more details:

[overlord /home/teward/Downloads]% apt-cache rdepends odbcinst1debian2-utf16
odbcinst1debian2-utf16
Reverse Depends:
  unixodbc-dev-utf16
  unixodbc-utf16
  odbcinst-utf16
  msodbcsql
[overlord /home/teward/Downloads]% apt-cache depends msodbcsql
msodbcsql
  Depends: libc6
  Depends: libstdc++6
  Depends: libkrb5-3
  Depends: libcurl3
  Depends: openssl
  Depends: debconf
  Depends: unixodbc
    unixodbc:i386
  Conflicts: libodbc1-utf16
  Conflicts: odbcinst-utf16
  Conflicts: odbcinst1debian2-utf16
  Conflicts: unixodbc-utf16

[overlord /home/teward/Downloads]% apt-cache rdepends msodbcsql
msodbcsql
Reverse Depends:
  mssql-tools
  mssql-tools

------

It is not MSSQL ***SERVER*** that depends on these libraries and introduces the errors.  It is MSSQL Tools that causes the conflict.
[20 Jan 2017 19:43] Thomas Ward
And note that mssql-tools is in a different Microsoft repository, and is necessary for TSQL command line query interaction with MSSQL that some of their documentation and tutorials point at (if you aren't using some other wrapper to handle the interaction with SQL).

(Note that I use DataGrip, for the most part, as a backup to manage MySQL and such, but I don't get the nice GUI for user and config management this way... hence one reason I would like MySQL Workbench again)