RootlessAgrarian
Programmer
I've been out of the software world for a handful of years and am now attempting to reconstruct my favourite toolkit -- Tcl/Tk, TclX (and a few other extensions), and database connectivity extensions for mysql and postgresql.
I'm working on a bit of a legacy platform here -- Snow Leopard (fully patched). This leaves me at postgresql83 and tcl8.4, if that matters.
I'd like to be doing some postgres app development but I am having difficulty getting the toolkit together. Installed my Tcl suite by way of TclAqua, which doesn't seem to include any database support other than generic ODBC. I tried "port install pgtcl" on the Mac -- this attempted to run, but then failed with obscure compiler errors
:info:build ./generic/pgtclCmds.c: In function ‘Pg_lo_read’:
:info:build ./generic/pgtclCmds.c:1948: warning: pointer targets in passing argument 1 of ‘tclStubsPtr->tcl_NewByteArrayObj’ differ in signedness
:info:build ./generic/pgtclCmds.c: In function ‘Pg_lo_write’:
:info:build ./generic/pgtclCmds.c:1997: warning: pointer targets in assignment differ in signedness
:info:build ./generic/pgtclCmds.c: In function ‘Pg_lo_export’:
:info:build ./generic/pgtclCmds.c:2305: warning: pointer targets in passing argument 3 of ‘tclStubsPtr->tcl_GetIntFromObj’ differ in signedness
:info:build ./generic/pgtclCmds.c: In function ‘Pg_select’:
:info:build ./generic/pgtclCmds.c:2437: error: ‘Tcl_Interp’ has no member named ‘errorLine’
:info:build ./generic/pgtclCmds.c: In function ‘Pg_escapeBytea’:
:info:build ./generic/pgtclCmds.c:3215: warning: passing argument 2 of ‘tclStubsPtr->tcl_GetByteArrayFromObj’ from incompatible pointer type
:info:build ./generic/pgtclCmds.c:3225: warning: pointer targets in passing argument 1 of ‘tclStubsPtr->tcl_NewStringObj’ differ in signedness
:info:build ./generic/pgtclCmds.c: In function ‘Pg_unescapeBytea’:
:info:build ./generic/pgtclCmds.c:3272: warning: pointer targets in assignment differ in signedness
:info:build ./generic/pgtclCmds.c:3273: warning: passing argument 2 of ‘PQunescapeBytea’ from incompatible pointer type
:info:build make: *** [pgtclCmds.o] Error 1
I then read a bit about a recent extension TDBC which seems to offer support for many different database servers, but afaik it is rolled into Tcl8.6 -- for which I think there is no Aqua, or at least not one for my Snow Leopard platform.
So I'm kinda stuck here. It's been a looong time since I had to crawl around inside the source code for extensions (the builds were getting pretty reliable) and I'm not keen on spending hours or days trying to debug this compile error. Any advice would be extremely welcome!
1) does TDBC offer multiple database server support? can I install it for Tcl84?
2) has anyone seen this pgtcl error before and is there a known fix?
3) is there any other version of TclAqua that does include database support?
I'm working on a bit of a legacy platform here -- Snow Leopard (fully patched). This leaves me at postgresql83 and tcl8.4, if that matters.
I'd like to be doing some postgres app development but I am having difficulty getting the toolkit together. Installed my Tcl suite by way of TclAqua, which doesn't seem to include any database support other than generic ODBC. I tried "port install pgtcl" on the Mac -- this attempted to run, but then failed with obscure compiler errors
:info:build ./generic/pgtclCmds.c: In function ‘Pg_lo_read’:
:info:build ./generic/pgtclCmds.c:1948: warning: pointer targets in passing argument 1 of ‘tclStubsPtr->tcl_NewByteArrayObj’ differ in signedness
:info:build ./generic/pgtclCmds.c: In function ‘Pg_lo_write’:
:info:build ./generic/pgtclCmds.c:1997: warning: pointer targets in assignment differ in signedness
:info:build ./generic/pgtclCmds.c: In function ‘Pg_lo_export’:
:info:build ./generic/pgtclCmds.c:2305: warning: pointer targets in passing argument 3 of ‘tclStubsPtr->tcl_GetIntFromObj’ differ in signedness
:info:build ./generic/pgtclCmds.c: In function ‘Pg_select’:
:info:build ./generic/pgtclCmds.c:2437: error: ‘Tcl_Interp’ has no member named ‘errorLine’
:info:build ./generic/pgtclCmds.c: In function ‘Pg_escapeBytea’:
:info:build ./generic/pgtclCmds.c:3215: warning: passing argument 2 of ‘tclStubsPtr->tcl_GetByteArrayFromObj’ from incompatible pointer type
:info:build ./generic/pgtclCmds.c:3225: warning: pointer targets in passing argument 1 of ‘tclStubsPtr->tcl_NewStringObj’ differ in signedness
:info:build ./generic/pgtclCmds.c: In function ‘Pg_unescapeBytea’:
:info:build ./generic/pgtclCmds.c:3272: warning: pointer targets in assignment differ in signedness
:info:build ./generic/pgtclCmds.c:3273: warning: passing argument 2 of ‘PQunescapeBytea’ from incompatible pointer type
:info:build make: *** [pgtclCmds.o] Error 1
I then read a bit about a recent extension TDBC which seems to offer support for many different database servers, but afaik it is rolled into Tcl8.6 -- for which I think there is no Aqua, or at least not one for my Snow Leopard platform.
So I'm kinda stuck here. It's been a looong time since I had to crawl around inside the source code for extensions (the builds were getting pretty reliable) and I'm not keen on spending hours or days trying to debug this compile error. Any advice would be extremely welcome!
1) does TDBC offer multiple database server support? can I install it for Tcl84?
2) has anyone seen this pgtcl error before and is there a known fix?
3) is there any other version of TclAqua that does include database support?