Re: Problems: Build MySQL ODBC Connector 5.1.5 with 64-Linux

Jess Balint <[email protected]>
Newsgroups gmane.comp.db.mysql.odbc
Message-ID <[email protected]>
Ida -

How did you install libltdl? As far as I know, the version in /usr/lib
should be the 64-bit version and it shouldn't be difficult to get
everything to line up. If you've installed as 32-bit version in there, I
believe you'll want to move it somewhere else. Otherwise, if you know
there's a 64-bit version somewhere else on your system, you can use the
config option:

  --with-ltdl-path=DIR    Where libtool "libltdl" and "ltdl.h" are installed

Hope this helps,
Jess

On Mon, Dec 08, 2008 at 10:46:54AM +0100, Ida Schonfeld wrote:
> Hello Jess,
> 
> Thx for the Patch :) 
> I still cannot build, but the problem is another one. One Question: "Make" complains about the libltdl.so file. We can see it tries to get the 32 bit version of this. Does the ODBC Connector depend on libltdl? Can I ignore this in some way or at least set the path somehow to the 64bit libltdl.so?  
> 
> Thx in advance
> Ida :)
> 
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] 
> Sent: Friday, December 05, 2008 8:04 PM
> To: Ida Schonfeld
> Cc: [email protected]
> Subject: Re: Problems: Build MySQL ODBC Connector 5.1.5 with 64-Linux
> 
> Ida,
> 
> Thanks for bringing this to our attention. I've attached a patch to get
> this to build. This patch will be included in the next release.
> 
> Jess
> 
> On Fri, Dec 05, 2008 at 03:25:28PM +0100, Ida Schonfeld wrote:
> > Hello,
> > 
> >  
> > 
> > I wanted to build the sources from the MySQL ODBC connector 5.1.5.-0 but I have a problem with some function and type declarations.
> > 
> > I configured the sources with the following options:
> > 
> > ./configure -with-debug -disable-gui -with-unixODBC -with-unixODBC-libs=/usr/local/lib64 -with-unixODBC-includes=/usr/local/include -with-mysql-path=/usr
> > 
> >  
> > 
> > The configuration is successful. But when I try to build the sources with make I get the errors like in make.log below. 
> > 
> > I'm using the unixODBC 2.2.14 as Driver Manager. It is build with 64 bit so that SQLULEN and SQLLEN are 8 bit while SQLINTEGER, etc are 4 bit. 
> > 
> > Is there maybe a Flag which I forgot to set for the configuration? Is really my only solution to correct all the function declarations and the Casting Errors manually? Is there maybe a new driver version planed for the next time?
> > 
> > I added two extracts from the sqltypes.h and the sqlext.h. The SQL-Type definitions and the Line 1862 which causes the error.
> > 
> >  
> > 
> > I'm working on an OpenSuse 10.2 (AMD64). I downloaded the sources from here (http://mysql.holywar.net/Downloads/Connector-ODBC/5.1/mysql-connector-odbc-5.1.5-0.src.rpm <http://mysql.holywar.net/Downloads/Connector-ODBC/5.1/mysql-connector-odbc-5.1.5-0.src.rpm> ) and I think this should be the newest version of the driver sources.
> > 
> >  
> > 
> >  
> > 
> >  
> > 
> > Thanks for your help
> > 
> > Ida Schönfeld
> > 
> >  
> > 
> >  
> > 
> > make.log
> > 
> > make[1]: Entering directory `/usr/src/packages/SOURCES/mysql-connector-odbc-5.1.5/util'
> > 
> > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../driver -I..  -I/usr/local/include  -ggdb3 -DDBUG_ON -I/usr/include/mysql -fmessage-length=0 -D_FORTIFY_SOURCE=2 -g -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -fno-strict-aliasing -g -O2 -MT stringutil.lo -MD -MP -MF ".deps/stringutil.Tpo" -c -o stringutil.lo stringutil.c; \
> > 
> >             then mv -f ".deps/stringutil.Tpo" ".deps/stringutil.Plo"; else rm -f ".deps/stringutil.Tpo"; exit 1; fi
> > 
> > mkdir .libs
> > 
> >  gcc -DHAVE_CONFIG_H -I. -I. -I../driver -I.. -I/usr/local/include -ggdb3 -DDBUG_ON -I/usr/include/mysql -fmessage-length=0 -D_FORTIFY_SOURCE=2 -g -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -fno-strict-aliasing -g -O2 -MT stringutil.lo -MD -MP -MF .deps/stringutil.Tpo -c stringutil.c  -fPIC -DPIC -o .libs/stringutil.o
> > 
> > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../driver -I..  -I/usr/local/include  -ggdb3 -DDBUG_ON -I/usr/include/mysql -fmessage-length=0 -D_FORTIFY_SOURCE=2 -g -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -fno-strict-aliasing -g -O2 -MT installer.lo -MD -MP -MF ".deps/installer.Tpo" -c -o installer.lo installer.c; \
> > 
> >             then mv -f ".deps/installer.Tpo" ".deps/installer.Plo"; else rm -f ".deps/installer.Tpo"; exit 1; fi
> > 
> >  [ . . . ]
> > 
> > gcc -DHAVE_CONFIG_H -I. -I. -I. -I../util -I.. -DNONTHREADSAFE -I/usr/local/include -ggdb3 -DDBUG_ON -I/usr/include/mysql -fmessage-length=0 -D_FORTIFY_SOURCE=2 -g -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -fno-strict-aliasing -g -O2 -MT libmyodbc5_la-options.lo -MD -MP -MF .deps/libmyodbc5_la-options.Tpo -c options.c  -fPIC -DPIC -o .libs/libmyodbc5_la-options.o
> > 
> > options.c: In function 'MySQLSetConnectAttr':
> > 
> > options.c:356: warning: cast from pointer to integer of different size
> > 
> > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -I../util -I.. -DNONTHREADSAFE -I/usr/local/include  -ggdb3 -DDBUG_ON -I/usr/include/mysql -fmessage-length=0 -D_FORTIFY_SOURCE=2 -g -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -fno-strict-aliasing -g -O2 -MT libmyodbc5_la-prepare.lo -MD -MP -MF ".deps/libmyodbc5_la-prepare.Tpo" -c -o libmyodbc5_la-prepare.lo `test -f 'prepare.c' || echo './'`prepare.c; \
> > 
> >             then mv -f ".deps/libmyodbc5_la-prepare.Tpo" ".deps/libmyodbc5_la-prepare.Plo"; else rm -f ".deps/libmyodbc5_la-prepare.Tpo"; exit 1; fi
> > 
> >  gcc -DHAVE_CONFIG_H -I. -I. -I. -I../util -I.. -DNONTHREADSAFE -I/usr/local/include -ggdb3 -DDBUG_ON -I/usr/include/mysql -fmessage-length=0 -D_FORTIFY_SOURCE=2 -g -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -fno-strict-aliasing -g -O2 -MT libmyodbc5_la-prepare.lo -MD -MP -MF .deps/libmyodbc5_la-prepare.Tpo -c prepare.c  -fPIC -DPIC -o .libs/libmyodbc5_la-prepare.o
> > 
> > prepare.c: In function 'my_SQLBindParameter':
> > 
> > prepare.c:244: warning: cast to pointer from integer of different size
> > 
> > prepare.c:271: warning: cast to pointer from integer of different size
> > 
> > prepare.c:278: warning: cast to pointer from integer of different size
> > 
> > prepare.c:296: warning: cast to pointer from integer of different size
> > 
> > prepare.c:313: warning: cast to pointer from integer of different size
> > 
> > prepare.c: In function 'SQLSetScrollOptions':
> > 
> > prepare.c:492: warning: cast to pointer from integer of different size
> > 
> > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -I../util -I.. -DNONTHREADSAFE -I/usr/local/include  -ggdb3 -DDBUG_ON -I/usr/include/mysql -fmessage-length=0 -D_FORTIFY_SOURCE=2 -g -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -fno-strict-aliasing -g -O2 -MT libmyodbc5_la-results.lo -MD -MP -MF ".deps/libmyodbc5_la-results.Tpo" -c -o libmyodbc5_la-results.lo `test -f 'results.c' || echo './'`results.c; \
> > 
> >             then mv -f ".deps/libmyodbc5_la-results.Tpo" ".deps/libmyodbc5_la-results.Plo"; else rm -f ".deps/libmyodbc5_la-results.Tpo"; exit 1; fi
> > 
> >  gcc -DHAVE_CONFIG_H -I. -I. -I. -I../util -I.. -DNONTHREADSAFE -I/usr/local/include -ggdb3 -DDBUG_ON -I/usr/include/mysql -fmessage-length=0 -D_FORTIFY_SOURCE=2 -g -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -fno-strict-aliasing -g -O2 -MT libmyodbc5_la-results.lo -MD -MP -MF .deps/libmyodbc5_la-results.Tpo -c results.c  -fPIC -DPIC -o .libs/libmyodbc5_la-results.o
> > 
> > results.c: In function 'SQLBindCol':
> > 
> > results.c:846: warning: cast to pointer from integer of different size
> > 
> > results.c: At top level:
> > 
> > results.c:1390: error: conflicting types for 'SQLExtendedFetch'
> > 
> > /usr/local/include/sqlext.h:1862: error: previous declaration of 'SQLExtendedFetch' was here
> > 
> > results.c: In function 'SQLFetchScroll':
> > 
> > results.c:1423: warning: passing argument 4 of 'my_SQLExtendedFetch' from incompatible pointer type
> > 
> > results.c: In function 'SQLFetch':
> > 
> > results.c:1441: warning: passing argument 4 of 'my_SQLExtendedFetch' from incompatible pointer type
> > 
> > make[2]: *** [libmyodbc5_la-results.lo] Error 1
> > 
> > make[2]: Leaving directory `/usr/src/packages/SOURCES/mysql-connector-odbc-5.1.5/driver'
> > 
> > make[1]: *** [all] Error 2
> > 
> > make[1]: Leaving directory `/usr/src/packages/SOURCES/mysql-connector-odbc-5.1.5/driver'
> > 
> > make: *** [all-recursive] Error 1
> > 
> > 11/25/08 14:16 done make
> > 
> > exit status 2
> > 
> >  
> > 
> > sqltypes.h[...]
> > 
> > typedef int             SQLINTEGER;
> > 
> > typedef unsigned int    SQLUINTEGER;
> > 
> > typedef long            SQLLEN;
> > 
> > typedef unsigned long   SQLULEN;
> > 
> > typedef unsigned long   SQLSETPOSIROW;
> > 
> > /* 
> > 
> >  * These are not supprted on 64bit ODBC according to MS, removed, so use at your peril 
> > 
> >  */
> > 
> >  typedef SQLULEN                     SQLTRANSID;
> > 
> >  typedef SQLULEN                     SQLROWCOUNT;
> > 
> >  typedef SQLUINTEGER             SQLROWSETSIZE;
> > 
> >  typedef SQLLEN                       SQLROWOFFSET;
> > 
> > [...]
> > 
> > Sqlext.h[...]
> > 
> > SQLRETURN SQL_API SQLExtendedFetch(
> > 
> >     SQLHSTMT           hstmt,
> > 
> >     SQLUSMALLINT       fFetchType,
> > 
> >     SQLLEN             irow,
> > 
> >     SQLULEN                    *pcrow,
> > 
> >     SQLUSMALLINT           *rgfRowStatus);
> > 
> > [...]
> > 

-- 
MySQL ODBC Mailing List
For list archives: http://lists.mysql.com/myodbc
To unsubscribe:    http://lists.mysql.com/[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.