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 10:05:52
Message-ID: 5a4abc7ce7138e12862e134dda854253@lollisoft.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

On more note:

My last test was based on version 07.03.0200. I now also have tested
REL-07_03_ENHANCED.
There was only an installation problem, thus I simply copied the file.

I also determined some possible mismatch with driver installation.

Error in lbQuery: (SQLConnect()) 00000: 0 - [iODBC][Driver
Manager]dlcompat: file "/usr/local/lib/psqlodbc.so" not found
See [iODBC] !

I have compiled the driver with unixodbc. Also changing the psqlodbc.so
to psqlodbc30w.so (in ~/.odbc.ini) does not affect.
If I change using psqlodbc30w.so in ~/Library/ODBC/odbc.ini, it affect.

But strange: Regardless of the other configuration data in
~/Library/ODBC/odbc.ini, I only have access to my database, when
that file is additionally copied to ~/.odbc.ini.

Installing driver error:

mac:~/psql-odbc-cvs/psqlodbc lothar$ sudo make install
test -z "/usr/local/lib" || "/usr/local/lib"
/bin/sh: line 1: /usr/local/lib: is a directory
make[1]: *** [install-libLTLIBRARIES] Error 126
make: *** [install-am] Error 2

But at all least, the driver (REL-07_03_ENHANCED) seems to work
correctly in my GUI.

Regards, Lothar

Am 23.03.2006 um 10:31 schrieb Lothar Behrens:

> 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
>
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq
>
>
--
Lothar Behrens | Rapid Prototyping ...
Rosmarinstr 3 |
40235 Düsseldorf | www.lollisoft.de

In response to

Browse pgsql-odbc by date

  From Date Subject
Next Message Åsmund Kveim Lie 2006-03-23 15:51:09 Text arrays fails with MaxVarCharSize > 16383
Previous Message Lothar Behrens 2006-03-23 09:31:26 Re: Compiling psqlodbc REL-07_03_ENHANCED and 07.03.260