Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: Compiling psqlodbc REL-07_03_ENHANCED and 07.03.260


  • From: Lothar Behrens <lothar(dot)behrens(at)lollisoft(dot)de>
  • To: pgsql-odbc(at)postgresql(dot)org
  • Subject: Re: Compiling psqlodbc REL-07_03_ENHANCED and 07.03.260
  • Date: Thu, 23 Mar 2006 10:31:26 +0100
  • Message-id: <f847c9460378c7fa856b24acd9e4d42e@lollisoft.de> <text/plain>

I have it !

While going back until reading configuration from ini files, I determined, that ODBC_INI is a file with that name: .odbc.ini
Copying my configuration to the right place solved the problem.

On Mac OS X, the ODBC setup application saves the user's configuration in ~/Library/ODBC/odbc.ini where as the driver
searches it at ~/.odbc.ini.

My suggestion would be to distinuish between UNIX and Mac OS X by another #define and on Mac first try ~/Library/ODBC/odbc.ini
in SQLGetPrivateProfileString, then ~/.odbc.ini.

Regards, Lothar

Am 23.03.2006 um 09:17 schrieb Lothar Behrens:

Yes,

linking against ssl solved the SSL_read problem. But it didn't solved the md5 functions problem.
I have prefixed them with psql_ and that helped.

I am not sure changing all references to these changes.

At the end, I get the same error as with the 07.03.200 driver version.
Also I didn't see any debug message, only log messages that didn't tell me much :-(

I'll try more today...

Lothar

Here is a diff:

Index: config.h.in
===================================================================
RCS file: /cvsroot/psqlodbc/psqlodbc/Attic/config.h.in,v
retrieving revision 1.2.2.5
diff -u -r1.2.2.5 config.h.in
--- config.h.in 15 Mar 2006 14:31:22 -0000      1.2.2.5
+++ config.h.in 23 Mar 2006 08:10:56 -0000
@@ -109,7 +109,7 @@
 #undef WITH_UNIXODBC

 /* Define to 1 if your <sys/time.h> declares `struct tm'. */
-#undef TM_IN_SYS_TIME
+#define TM_IN_SYS_TIME 1

 /* Force define to 1 to build with unicode support */
 #undef UNICODE_SUPPORT
Index: md5.c
===================================================================
RCS file: /cvsroot/psqlodbc/psqlodbc/md5.c,v
retrieving revision 1.10.4.3
diff -u -r1.10.4.3 md5.c
--- md5.c       24 Jan 2006 12:03:42 -0000      1.10.4.3
+++ md5.c       23 Mar 2006 08:11:02 -0000
@@ -305,7 +305,7 @@
  *
  */
 bool
-md5_hash(const void *buff, size_t len, char *hexsum)
+psql_md5_hash(const void *buff, size_t len, char *hexsum)
 {
        uint8           sum[16];

@@ -328,7 +328,7 @@
  * Returns TRUE if okay, FALSE on error (out of memory).
  */
 bool
-EncryptMD5(const char *passwd, const char *salt, size_t salt_len,
+psql_EncryptMD5(const char *passwd, const char *salt, size_t salt_len,
                   char *buf)
 {
        size_t          passwd_len = strlen(passwd);
@@ -343,7 +343,7 @@
        memcpy(crypt_buf + passwd_len, salt, salt_len);

        strcpy(buf, "md5");
-       ret = md5_hash(crypt_buf, passwd_len + salt_len, buf + 3);
+       ret = psql_md5_hash(crypt_buf, passwd_len + salt_len, buf + 3);

        pfree(crypt_buf);

Index: md5.h
===================================================================
RCS file: /cvsroot/psqlodbc/psqlodbc/md5.h,v
retrieving revision 1.8.6.2
diff -u -r1.8.6.2 md5.h
--- md5.h       18 Jan 2006 09:52:15 -0000      1.8.6.2
+++ md5.h       23 Mar 2006 08:11:02 -0000
@@ -42,8 +42,8 @@
 typedef unsigned int uint32;   /* == 32 bits */
 #endif /* not HAVE_UINT8 */

-extern bool md5_hash(const void *buff, size_t len, char *hexsum);
-extern bool EncryptMD5(const char *passwd, const char *salt,
+extern bool psql_md5_hash(const void *buff, size_t len, char *hexsum);
+extern bool psql_EncryptMD5(const char *passwd, const char *salt,
                   size_t salt_len, char *buf);

 #endif



Am 22.03.2006 um 18:28 schrieb Tom Lane:

Lothar Behrens <lothar(dot)behrens(at)lollisoft(dot)de> writes:
gcc -r -keep_private_externs -nostdlib -o .libs/psqlodbc30w.so-master.o
  info.lo bind.lo columninfo.lo connection.lo convert.lo drvconn.lo
environ.lo execute.lo lobj.lo win_md5.lo misc.lo options.lo pgtypes.lo
psqlodbc.lo qresult.lo results.lo socket.lo parse.lo statement.lo
tuple.lo dlg_specific.lo loadlib.lo multibyte.lo odbcapi.lo
descriptor.lo odbcapi30.lo pgapi30.lo info30.lo mylog.lo && gcc -bundle -o .libs/psqlodbc30w.so .libs/psqlodbc30w.so-master.o -L/sw/lib -lpq
-L/usr/local/lib -lodbcinst -lc
ld: .libs/psqlodbc30w.so-master.o illegal reference to symbol:
_SSL_read defined in indirectly referenced dynamic library
/usr/lib/libssl.0.9.7.dylib

I think Darwin's linker may insist on -lssl appearing in the link command.

			regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend


--
Lothar Behrens	|	Rapid Prototyping ...
Rosmarinstr 3		|	
40235 Düsseldorf  	|	www.lollisoft.de



---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
      message can get through to the mailing list cleanly


--
Lothar Behrens	|	Rapid Prototyping ...
Rosmarinstr 3		|	
40235 Düsseldorf  	|	www.lollisoft.de





Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group