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: 2006-03-23 09:31:26
Message-ID: f847c9460378c7fa856b24acd9e4d42e@lollisoft.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

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

In response to

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Lothar Behrens 2006-03-23 10:05:52 Re: Compiling psqlodbc REL-07_03_ENHANCED and 07.03.260
Previous Message Lothar Behrens 2006-03-23 08:17:29 Re: Compiling psqlodbc REL-07_03_ENHANCED and 07.03.260