** Changed in: oursql
   Importance: Undecided => Wishlist

** Changed in: oursql
       Status: New => Won't Fix

-- 
cryptic failure when using gcc python with icc mysql
https://bugs.launchpad.net/bugs/533223
You received this bug notification because you are a member of Agesys
Team, which is subscribed to oursql.

Status in oursql python bindings for mysql: Won't Fix

Bug description:
When using oursql, if it is compiled with the mysql_configure binary from the 
icc distribution of MySQL and with the gcc version of python, it will display 
cryptic errors when importing pertaining to missing symbols etc. This is not 
something a python developer is required to understand, and is therefore a very 
serious problem.

Furthermore, it will not fail compilation (no errors or warnings shown), hiding 
the problem.

Suggested fixes:

1. Put the below text in the "http://packages.python.org/oursql/install.html"; 
document, right before the paragraph starting with "On Windows, setup.py will 
try":

If, while importing oursql, you are getting messages about missing symbols, 
this might mean python (and by extension oursql) are compiled with the GNU 
Compiler gcc, while MySQL is compiled with the Intel compiler icc. This is 
usually the case if you use the version of Python that comes with your system 
and the MySQL binaries that are offered on MySQL's website. One fix is to use 
your distribution's version of libmysqlclient-dev or - generally - a version 
compiled with gcc; this will supply a version of mysql_configure. Another 
option is to use a version of MySQL that is compiled with gcc, for example the 
one supplied by your distribution.

1b. Alternatively put this paragraph in a troubleshooting section of the oursql 
manual, and link to it from the place right before the text "On Windows, 
setup.py will try" by using this text:

Bear in mind there might be problems if [MySQL and Python use incompatible 
ABIs].

Where [] denotes the link.

2. Fail compilation or setup.py if the ABIs are incompatible

3. Catch the error that happens when importing and replace it with a cue that 
will direct the user to the documentation described above, such as:

Error. Your MySQL seems to be using a different ABI than oursql. Please see the 
installation section of the manual.



_______________________________________________
Mailing list: https://launchpad.net/~agesys-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~agesys-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to