Re: Compiling psqlodbc REL-07_03_ENHANCED and 07.03.260 - Mailing list pgsql-odbc
From | Lothar Behrens |
---|---|
Subject | Re: Compiling psqlodbc REL-07_03_ENHANCED and 07.03.260 |
Date | |
Msg-id | 5a4abc7ce7138e12862e134dda854253@lollisoft.de Whole thread Raw |
In response to | Re: Compiling psqlodbc REL-07_03_ENHANCED and 07.03.260 (Lothar Behrens <lothar.behrens@lollisoft.de>) |
List | 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.behrens@lollisoft.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@postgresql.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
pgsql-odbc by date: