Received: from golem.jpl.nasa.gov (root@hectic-1.jpl.nasa.gov [128.149.68.203]) by hub.org (8.8.8/8.7.5) with ESMTP id WAA19647 for ; Wed, 2 Sep 1998 22:32:28 -0400 (EDT) Received: from alumni.caltech.edu (localhost [127.0.0.1]) by golem.jpl.nasa.gov (8.8.5/8.8.5) with ESMTP id CAA22166; Thu, 3 Sep 1998 02:40:39 GMT Sender: tgl@mythos.jpl.nasa.gov Message-ID: <35EE01A7.B204EEA7@alumni.caltech.edu> Date: Thu, 03 Sep 1998 02:40:39 +0000 From: "Thomas G. Lockhart" Organization: Caltech/JPL X-Mailer: Mozilla 4.05 [en] (X11; I; Linux 2.0.30 i686) MIME-Version: 1.0 To: John Sharp CC: "pgsql-interfaces@postgresql.org" Subject: Re: [INTERFACES] postodbc on sparc2.5.1 References: <19980902101454994-89c6e9f4@cfipro.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit > I have been trying to implement postodbc on a solaris sparc 2.5.1. > (source distribution from insightdist.com v0249). psqlodbc? > I have got it to compile but not load yet. > SQLColumns now not found. Note: all functions not found by > the linker are Window's APIs. SQLColumns is in info.c, which should be in the distribution. > Tried linking in the libiodbc.a file. The linker found the missing > functions but now SQLError is a multiple define. > Should I remove the implementation for SQLError in postodbc to > eliminate the final linker error. Is this the right way to go, or is > there some other solution? Wrong way to go. iODBC should _not_ be linked directly with your psqlodbc image, because it has duplicate routines for every ODBC API! It relies on explicit dynamic loading to find the psqlodbc routines at runtime. You will need to find the linker options which force your psqlodbc library to resolve all symbols internally. That way it won't be linked back to iODBC at runtime (which happened to me on Linux). Don't know what the options would be for Solaris; on Linux it is -Bsymbolic. I had to include libc and libm in the link step to resolve the printf and pow functions used by psqlodbc. You will also need a decent ~/.odbc.ini file. Let me know if you don't already have one... - Tom