Thread: Compiling 09.00.0300 on OS X Snow Leopard

Compiling 09.00.0300 on OS X Snow Leopard

From
Brian Panulla
Date:
I'm trying to use psqlODBC on OS X 10.6. I compiled from source with configure arguments

  --with-iodbc --with-libpq=/opt/local/lib/postgresql90

I installed PG9 via MacPorts.

Using the iODBC driver test script gives me the errors:

  1: SQLDriverConnect = [iODBC][Driver Manager]dlopen(/usr/local/lib/psqlodbcw.so, 6): no suitable image found.  Did find:
/usr/local/lib/psqlodbcw.so: mach-o, but wrong architecture (0) SQLSTATE=00000
2: SQLDriverConnect = [iODBC][Driver Manager]Specified driver could not be loaded (0) SQLSTATE=IM003

The Makefile appears to have correctly determined my architecture (x86_64-apple-darwin10.8.0).

Any sugestions? Is there a better way to get the ODBC driver for OS X? It didn't appear to be included with any of the various packages in MacPorts.

-B

Re: Compiling 09.00.0300 on OS X Snow Leopard

From
Hiroshi Saito
Date:
Hi Brian-san.

Please try the following,

1. relation is investigated by ldd.
ldd /usr/local/lib/psqlodbcw.so

When it looks normal.
2. please build the 09.00.0310
It is correcting a little uneasy portion.

although verification is impossible by me. sorry, I don't have MAC
machine. However, More information may be able to obtain someone's
suggestion.

Regards,
Hiroshi Saito

(2011/07/09 6:01), Brian Panulla wrote:
> I'm trying to use psqlODBC on OS X 10.6. I compiled from source
> with configure arguments
>
>    --with-iodbc --with-libpq=/opt/local/lib/postgresql90
>
> I installed PG9 via MacPorts.
>
> Using the iODBC driver test script gives me the errors:
>
>    1: SQLDriverConnect = [iODBC][Driver
> Manager]dlopen(/usr/local/lib/psqlodbcw.so, 6): no suitable image found.
>   Did find:
> /usr/local/lib/psqlodbcw.so: mach-o, but wrong architecture (0)
> SQLSTATE=00000
> 2: SQLDriverConnect = [iODBC][Driver Manager]Specified driver could not
> be loaded (0) SQLSTATE=IM003
>
> The Makefile appears to have correctly determined my architecture
> (x86_64-apple-darwin10.8.0).
>
> Any sugestions? Is there a better way to get the ODBC driver for OS X?
> It didn't appear to be included with any of the various packages in
> MacPorts.
>
> -B


Re: Compiling 09.00.0300 on OS X Snow Leopard

From
Brian Panulla
Date:
On Sat, Jul 9, 2011 at 7:20 AM, Hiroshi Saito <hiroshi@winpg.jp> wrote:

When it looks normal.
2. please build the 09.00.0310
It is correcting a little uneasy portion.

Same problem with 0310.

I think there's something wrong with iODBC support on Mac OS X 10.6. I made a 32bit/64bit fat binary by building the driver twice with different configure arguments:

      ./configure --with-iodbc --without-libpq CC="gcc -arch x86_64" CXX="g++ -arch x86_64"

      ./configure --with-iodbc --without-libpq CC="gcc -arch i386" CXX="g++ -arch i386"

and stitching the two versions together with lipo(1). I still couldn't load the driver successfully but the error message changed:

[iODBC][Driver Manager]dlopen(/usr/local/lib/psqlodbcw.so, 6): Symbol not found: _CreateDataSource
  Referenced from: /usr/lib/libiodbcinst.2.dylib
  Expected in: flat namespace
 (0) SQLSTATE=00000

I was able to get the driver to work by building against unixODBC (installed from MacPorts) instead of iODBC. This works fine, though I needed to do a custom build of PHP to use it since the build included with 10.6 is not built with unixODBC support.

-B

Re: Compiling 09.00.0300 on OS X Snow Leopard

From
Hiroshi Inoue
Date:
Hi Brian,

(2011/07/16 8:10), Brian Panulla wrote:
> On Sat, Jul 9, 2011 at 7:20 AM, Hiroshi Saito <hiroshi@winpg.jp
> <mailto:hiroshi@winpg.jp>> wrote:
>
>
>     When it looks normal.
>     2. please build the 09.00.0310
>     It is correcting a little uneasy portion.
>
>
> Same problem with 0310.
>
> I think there's something wrong with iODBC support on Mac OS X 10.6. I
> made a 32bit/64bit fat binary by building the driver twice with
> different configure arguments:
>
>        ./configure --with-iodbc --without-libpq CC="gcc -arch x86_64"
> CXX="g++ -arch x86_64"
>
>        ./configure --with-iodbc --without-libpq CC="gcc -arch i386"
> CXX="g++ -arch i386"
>
> and stitching the two versions together with lipo(1). I still couldn't
> load the driver successfully but the error message changed:
>
> [iODBC][Driver Manager]dlopen(/usr/local/lib/psqlodbcw.so, 6): Symbol
> not found: _CreateDataSource
>    Referenced from: /usr/lib/libiodbcinst.2.dylib
>    Expected in: flat namespace
>   (0) SQLSTATE=00000

I found the following page iODBC does not work under Mac OSX 10.6.4


http://stackoverflow.com/questions/3905093/iodbc-does-not-work-under-mac-osx-10-6-4

regards,
Hiroshi Inoue