[freetds] VMS decc FreeTDS compilation question

Patrick Spinler pspinler at yahoo.com
Mon Oct 13 16:06:54 EDT 2003


Hello all:

I'm trying to compile a sybase client C program using Compaq C V6.4-005 
on OpenVMS Alpha V7.3-1 against FreeTDS 0.61_2 downloaded from 
<http://www.freetds.org>.  We're trying to use it to replace the no 
longer valid sybase openclient for openvms.

When I compile a program, I'm getting errors like the following (please 
forgive line wrapping):

-------------------------
cc /decc tsslistener  -
/STAND=VAXC/FLOAT=IEEE_FLOAT/WARNING=(DISABLE=(LONGEXTERN,MISSINGRETURN,PROTOSCOPE))-
/INCLUDE=(CTS_PROGRAMMER:[PSPINLER.SRC.FREETDS.FREETDS-0_61_2.INCLUDE],CTS:[SOURCE.INCLUDE])

openClientStatus=ct_con_props(pConnection,CS_SET,CS_USERNAME,gpTSSListenerUsername,CS_NULLTERM,NULL);
.....................................................^
%CC-E-BADMCRORECURS, Recursive expansion of macro "CS_USERNAME" exceeded 
1024 levels and was terminated.
at line number 664 in file CTS:[SOURCE.CPP.TSS_LISTENER]TSSLISTENER.C;5
-------------------------

CS_USERNAME happens to be defined in freetds's include file CSPUBLIC.H 
as the following:

-------------------------
/* Properties */
enum {
	CS_USERNAME = 1,
/* These defines looks weird but programs can test support for defines,
    compiler can check enum and there are no define side effecs */
#define CS_USERNAME CS_USERNAME
-------------------------

Can anyone suggest how I can work around this and other, similar 
compilation issues with the definitions CS_PASSWORD, CS_HOSTNAME, and 
the apparently non-existing CS_SERVERNAME constants ?

Thanks,
-- Pat



More information about the FreeTDS mailing list