Bug #1311 install- undefined variable in options.c
Submitted: 16 Sep 2003 14:25 Modified: 6 Oct 2003 0:20
Reporter: Allen Williams Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / ODBC Severity:S3 (Non-critical)
Version:3.51 OS:Linux (Linux)
Assigned to: Venu Anuganti CPU Architecture:Any

[16 Sep 2003 14:25] Allen Williams
Description:
When installing the MySQL drivers that come with unixODBC, and after running the ./configure --with-unixodbc script, the make bombs.  The error message is:

options.c: In function `get_con_attr':
options.c:415: error: structure has no member named `timeout'

How to repeat:
Get the unixODBC tarball and unzip/ untar.
Got to the Drivers/MySQL subdirectory.
Type ./configure --with-unixodbc.
Type make.

Suggested fix:
Upon examination of options.c, lines 414- 416, this is found to be a reference to a MYSQL struct thusly:

  case SQL_ATTR_CONNECTION_TIMEOUT:
     *((SQLUINTEGER *) ValuePtr)= dbc->mysql.net.timeout;
    break;

dbc is a MYSQL struct, and net is a NET struct.  The NET struct (defined in /usr/include/mysql/mysql_com.h) only has two timeout- looking parameters in it: write_timeout and read_timeout.  I changed line 415 in options.c to be:

*((SQLUINTEGER *) ValuePtr)= dbc->mysql.net.write_timeout;

Don't know if this is what the developer intended, but it compiles with no problem.
[26 Sep 2003 0:02] Venu Anuganti
Hi !!

Looks like you have either older connector/odbc version and newer mysql client. Please upgrade to the latest version of the connector/odbc which takes are of this.

Thanks