Bug #61300 MySQL Utilities won't work on Ubuntu 11.04
Submitted: 26 May 2011 8:31 Modified: 25 Apr 2013 21:47
Reporter: Daniël van Eeden Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Utilities Severity:S1 (Critical)
Version:5.2.34-1ubu1010 OS:Linux (Ubuntu 11.04)
Assigned to: CPU Architecture:Any
Tags: python

[26 May 2011 8:31] Daniël van Eeden
Description:
The mysqlutilities won't work as it uses the default python, which is python2.7 on Ubuntu 11.04 and the shipped modules are installed under a python2.6 dir.

$ mysqlserverinfo 
Traceback (most recent call last):
  File "/usr/bin/mysqlserverinfo", line 28, in <module>
    from mysql.utilities import VERSION_FRM
ImportError: No module named mysql.utilities
$ lsb_release -d
Description:	Ubuntu 11.04
$ python2.6 /usr/bin/mysqlserverinfo
Usage: mysqlserverinfo --server=user:pass@host:port:socket -f GRID

mysqlserverinfo: error: You must specify at least one server.
$ dpkg -L mysql-workbench-gpl | grep '__init__.py' | xargs ls -l
-rw-r--r-- 1 root root 2290 2011-05-24 16:12 /usr/lib/python2.6/dist-packages/mysql/connector/__init__.py
-rw-r--r-- 1 root root 1455 2011-05-24 16:34 /usr/lib/python2.6/dist-packages/mysql/connector/__init__.pyc
-rw-r--r-- 1 root root    0 2011-05-24 16:12 /usr/lib/python2.6/dist-packages/mysql/__init__.py
-rw-r--r-- 1 root root  137 2011-05-24 16:34 /usr/lib/python2.6/dist-packages/mysql/__init__.pyc
-rw-r--r-- 1 root root    0 2011-05-24 16:12 /usr/lib/python2.6/dist-packages/mysql/utilities/command/__init__.py
-rw-r--r-- 1 root root  155 2011-05-24 16:34 /usr/lib/python2.6/dist-packages/mysql/utilities/command/__init__.pyc
-rw-r--r-- 1 root root    0 2011-05-24 16:12 /usr/lib/python2.6/dist-packages/mysql/utilities/common/__init__.py
-rw-r--r-- 1 root root  154 2011-05-24 16:34 /usr/lib/python2.6/dist-packages/mysql/utilities/common/__init__.pyc
-rw-r--r-- 1 root root  566 2011-05-24 16:12 /usr/lib/python2.6/dist-packages/mysql/utilities/__init__.py
-rw-r--r-- 1 root root  730 2011-05-24 16:34 /usr/lib/python2.6/dist-packages/mysql/utilities/__init__.pyc
$ dpkg -L python-openssl | grep '__init__.py' | xargs ls -l
lrwxrwxrwx 1 root root  46 2011-05-13 21:19 /usr/lib/python2.6/dist-packages/OpenSSL/__init__.py -> ../../../../share/pyshared/OpenSSL/__init__.py
lrwxrwxrwx 1 root root  54 2011-05-13 21:19 /usr/lib/python2.6/dist-packages/OpenSSL/test/__init__.py -> ../../../../../share/pyshared/OpenSSL/test/__init__.py
lrwxrwxrwx 1 root root  46 2011-05-13 21:19 /usr/lib/python2.7/dist-packages/OpenSSL/__init__.py -> ../../../../share/pyshared/OpenSSL/__init__.py
lrwxrwxrwx 1 root root  54 2011-05-13 21:19 /usr/lib/python2.7/dist-packages/OpenSSL/test/__init__.py -> ../../../../../share/pyshared/OpenSSL/test/__init__.py
-rw-r--r-- 1 root root 260 2009-11-13 16:36 /usr/share/pyshared/OpenSSL/__init__.py
-rw-r--r-- 1 root root 117 2009-11-13 16:36 /usr/share/pyshared/OpenSSL/test/__init__.py

How to repeat:
Try to run mysqlserverinfo on an Ubuntu 11.04 system.

Suggested fix:
1. Use a hardcoded version (work-around)

http://www.debian.org/doc/packaging-manuals/python-policy/ch-programs.html#s-version_dep_p...

2. Use pycentral to manage the modules (best option)
http://www.debian.org/doc/packaging-manuals/python-policy/ap-packaging_tools.html#s-pycent...

Ubuntu 11.04 is not (yet) listed as an officialy supported distribution, but the list with officialy supported distributions is not very clear at this time (See Bug #61299).
[26 May 2011 13:15] Alfredo Kojima
How are you starting the utilities? From a normal external shell or from the Plugins -> Utilities Shell menu / starter icon?
[26 May 2011 13:52] Daniël van Eeden
I've tried both an external shell and a wb utilities shell.
[31 May 2011 8:50] Valeriy Kravchuk
Not repeatable on Ubuntu 10.04, so looks like Python version really matters.
[31 May 2011 10:04] Daniël van Eeden
$ dpkg-query -S /usr/bin/python*
python-minimal: /usr/bin/python
python2.6-minimal: /usr/bin/python2.6
python2.7-minimal: /usr/bin/python2.7
$ lsb_release -d
Description:	Ubuntu 11.04
[28 Sep 2011 10:43] Daniël van Eeden
It seems to be fixed in 5.2.35-1ubu1104, as that version uses python 2.7 on Ubuntu 11.04. The previous version used python 2.6 on Ubuntu 11.04

$ dpkg -L mysql-workbench-gpl | grep '__init__.py' | xargs ls -l
-rw-r--r-- 1 root root 2290 2011-09-21 02:50 /usr/lib/python2.7/dist-packages/mysql/connector/__init__.py
-rw-r--r-- 1 root root 1455 2011-09-21 03:54 /usr/lib/python2.7/dist-packages/mysql/connector/__init__.pyc
-rw-r--r-- 1 root root    0 2011-09-21 02:51 /usr/lib/python2.7/dist-packages/mysql/__init__.py
-rw-r--r-- 1 root root  137 2011-09-21 03:54 /usr/lib/python2.7/dist-packages/mysql/__init__.pyc
-rw-r--r-- 1 root root    0 2011-09-21 02:50 /usr/lib/python2.7/dist-packages/mysql/utilities/command/__init__.py
-rw-r--r-- 1 root root  155 2011-09-21 03:54 /usr/lib/python2.7/dist-packages/mysql/utilities/command/__init__.pyc
-rw-r--r-- 1 root root    0 2011-09-21 02:50 /usr/lib/python2.7/dist-packages/mysql/utilities/common/__init__.py
-rw-r--r-- 1 root root  154 2011-09-21 03:54 /usr/lib/python2.7/dist-packages/mysql/utilities/common/__init__.pyc
-rw-r--r-- 1 root root  566 2011-09-21 02:50 /usr/lib/python2.7/dist-packages/mysql/utilities/__init__.py
-rw-r--r-- 1 root root  730 2011-09-21 03:54 /usr/lib/python2.7/dist-packages/mysql/utilities/__init__.pyc
$ dpkg -l mysql-workbench-gpl
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                   Version                                Description
+++-======================================-======================================-============================================================================================
ii  mysql-workbench-gpl                    5.2.35-1ubu1104                        MySQL Workbench
[25 Apr 2013 21:47] Alfredo Kojima
Please try the standalone MySQL Utilities packages from http://dev.mysql.com/downloads/tools/utilities/#downloads