RE: [PATCH DBD::FreeTDS 0.02] minimal VMS build patch
At 5:09 PM + 8/16/01, Piyush Avichal wrote: >I'm about to do the mmk test, I just need to know where I put the >server details. I have found testcommon.pm, That's what I did. You do have to use an actual host name for the server, not an address, because they call gethostbyname() on it. >but are there any other >files I need to add the server details to before I test and install >and then use it properly? Dunno, I never installed it. For configuration details you might try the freetds mailing list. -- Craig A. Berry mailto:[EMAIL PROTECTED] "Literary critics usually know what they're talking about. Even if they're wrong." -- Perl creator Larry Wall
RE: [PATCH DBD::FreeTDS 0.02] minimal VMS build patch
Craig, I have managed to do the mmk and all is ok - Thanks for your help. I'm about to do the mmk test, I just need to know where I put the server details. I have found testcommon.pm, but are there any other files I need to add the server details to before I test and install and then use it properly? Regards, Piyush. -Original Message- From: Craig A. Berry [mailto:[EMAIL PROTECTED]] Sent: 16 August 2001 15:23 To: Piyush Avichal Cc: '[EMAIL PROTECTED]' Subject: RE: [PATCH DBD::FreeTDS 0.02] minimal VMS build patch At 04:08 PM 8/16/2001 +, Piyush Avichal wrote: >CC/DECC >/NAMES=SHORTENED/Define=("VERSION=""0.02""","XS_VERSION=""0.02""")/Include= ( >perl_root:[lib.VMS_VAX.5_6_1.CORE],perl_root:[li >b.site_perl.VMS_VAX.auto.DBI],usr:[local.include])/Debug/NoOptimize >TDSLAYER.c >int tds_write_tdslong( >^ >%CC-W-MISSINGRETURN, Non-void function "tds_write_tdslong" does not contain >a > return statement. >At line number 3179 in >DKA300:[00.DBD-FREETDS-0_02]TDSLAYER.C;2. That was fixed in my patch. How did you apply the patch? Singer & Friedlander Group plc, registered office at 21 New Street, Bishopsgate, London, EC2M 4HR. Registered in England No 970842. This e-mail is confidential and may be legally privileged. It is intended for the sole use of the addressee and not anyone else. If you received this e-mail in error, please advise the sender immediately.
RE: [PATCH DBD::FreeTDS 0.02] minimal VMS build patch
At 04:08 PM 8/16/2001 +, Piyush Avichal wrote: >CC/DECC >/NAMES=SHORTENED/Define=("VERSION=""0.02""","XS_VERSION=""0.02""")/Include=( >perl_root:[lib.VMS_VAX.5_6_1.CORE],perl_root:[li >b.site_perl.VMS_VAX.auto.DBI],usr:[local.include])/Debug/NoOptimize >TDSLAYER.c >int tds_write_tdslong( >^ >%CC-W-MISSINGRETURN, Non-void function "tds_write_tdslong" does not contain >a > return statement. >At line number 3179 in >DKA300:[00.DBD-FREETDS-0_02]TDSLAYER.C;2. That was fixed in my patch. How did you apply the patch?
RE: [PATCH DBD::FreeTDS 0.02] minimal VMS build patch
I have added the /NAMES=SHORTENED qualifier to the CCFLAGS and I have got a little further, but I am still getting compilation errors in the TDSLAYER.C module: BART(SYSTEM)$ MMK ALL %MMK-I-ACTNOUPD, action did not update target CONFIG perl "-Iperl_root:[lib]" "-MExtUtils::Install" -e "pm_to_blib({split(' ',)},'[.blib.lib.auto]','')" <.MM_tmp cp freetds.pm [.blib.lib.DBD]freetds.pm AutoSplitting blib/lib/DBD/freetds.pm ([.blib.lib.auto.DBD]FreeTDS) perl "-Iperl_root:[lib.VMS_VAX.5_6_1]" "-Iperl_root:[lib]" -e "use ExtUtils::Mksymlists;" -e "Mksymlists('NAME' => 'DBD::FreeT DS', 'DL_FUNCS' => { }, 'DL_VARS' => [], 'FUNCLIST' => [])" perl -e "print ""[.blib.arch.auto.DBD.FreeTDS]FreeTDS.olb/Include=(dbdimp,freetds,tdslayer) \n[.blib.arch.auto.DBD.FreeTDS]FreeTDS.ol b/Library\n"";" >>FREETDS.OPT perl -e "print qq{PerlShr/Share\n}" >>FREETDS.OPT Copy/NoConfirm FREETDS.OPT [.BLIB.ARCH.AUTO.DBD.FREETDS]FREETDS.OPT CC/DECC /NAMES=SHORTENED/Define=("VERSION=""0.02""","XS_VERSION=""0.02""")/Include=( perl_root:[lib.VMS_VAX.5_6_1.CORE],perl_root:[li b.site_perl.VMS_VAX.auto.DBI],usr:[local.include])/Debug/NoOptimize DBDIMP.c perl -p -e "s/~DRIVER~/FreeTDS/g" < perl_root:[lib.site_perl.VMS_VAX.auto.DBI]Driver.xst > FreeTDS.xsi perl "-Iperl_root:[lib.VMS_VAX.5_6_1]" "-Iperl_root:[lib]" perl_root:[lib.ExtUtils]xsubpp -typemap perl_root:[lib.ExtUtils]typemap FREETDS.xs >FREETDS.C Warning: long symbol DBD__FreeTDS__st_bind_param_inout trimmed to DBD_FTDS_st_bd_pam_inout at perl_root:[lib.extutils]xsubpp line 1068 Warning: long symbol DBD__FreeTDS__st_fetchrow_arrayref trimmed to DBD_FTDS_st_fcow_arayref at perl_root:[lib.extutils]xsubpp line 1068 Warning: long symbol DBD__FreeTDS__st_fetchrow_array trimmed to DBD_FreTDS_st_fetchrow_aray at perl_root:[lib.extutils]xsubpp line 1068 Warning: long symbol DBD__FreeTDS__st_FETCH_attrib trimmed to DBD_FreeTDS_st_FETCH_attrib at perl_root:[lib.extutils]xsubpp line 1068 CC/DECC /NAMES=SHORTENED/Define=("VERSION=""0.02""","XS_VERSION=""0.02""")/Include=( perl_root:[lib.VMS_VAX.5_6_1.CORE],perl_root:[li b.site_perl.VMS_VAX.auto.DBI],usr:[local.include])/Debug/NoOptimize FREETDS.c CC/DECC /NAMES=SHORTENED/Define=("VERSION=""0.02""","XS_VERSION=""0.02""")/Include=( perl_root:[lib.VMS_VAX.5_6_1.CORE],perl_root:[li b.site_perl.VMS_VAX.auto.DBI],usr:[local.include])/Debug/NoOptimize TDSLAYER.c int tds_write_tdslong( ^ %CC-W-MISSINGRETURN, Non-void function "tds_write_tdslong" does not contain a return statement. At line number 3179 in DKA300:[00.DBD-FREETDS-0_02]TDSLAYER.C;2. %VCG-I-SUMMARY, Completed with 0 error(s), 1 warning(s), and 0 informational messages. At line number 3200 in DKA300:[00.DBD-FREETDS-0_02]TDSLAYER.C;2. %MMK-F-ERRUPD, error status %X10B9 occurred when updating target TDSLAYER.OBJ I dont know any C, so it doesnt really mean much to me! Thanks for your help, Piyush. -Original Message- From: Craig A. Berry [mailto:[EMAIL PROTECTED]] Sent: 16 August 2001 14:48 To: Piyush Avichal Cc: 'Craig A. Berry'; '[EMAIL PROTECTED]' Subject: RE: [PATCH DBD::FreeTDS 0.02] minimal VMS build patch At 11:37 AM + 8/15/01, Piyush Avichal wrote: >But the mmk fails with compilation warnings(see below). >They all seem to be to do with the same thing. >I have used Compaq C 6.2. > >Any ideas? Very odd, the name-shortening in the XS processor should have taken care of this (and it did for me). Perhaps the quick and dirty approach would be to edit your descrip.mms and add /NAMES=SHORTENED to the CFLAGS qualifier list. >CC/DECC >/Define=("VERSION=""0.02""","XS_VERSION=""0.02""")/Include=(perl_root:[lib. V >MS_VAX.5_6_1.CORE],perl _root:[lib.site_perl.VMS_ >VAX.auto.DBI],usr:[local.include])/Debug/NoOptimize DBDIMP.c >extern void XS_DBD__FreeTDS__st_bind_param_inout(CV *); >^ >%CC-W-LONGEXTERN, The external identifier name exceeds 31 characters; >truncated > to "XS_DBD__FREETDS__ST_BIND_PARAM_". >At line number 180 in >DKA300:[00.DBD-FREETDS-0_02]FREETDS.H;1. -- Craig A. Berry mailto:[EMAIL PROTECTED] "Literary critics usually know what they're talking about. Even if they're wrong." -- Perl creator Larry Wall Singer & Friedlander Group plc, registered office at 21 New Street, Bishopsgate, London, EC2M 4HR. Registered in England No 970842. This e-mail is confidential and may be legally privileged. It is intended for the sole use of the addressee and not anyone else. If you received this e-mail in error, please advise the sender immediately.
RE: [PATCH DBD::FreeTDS 0.02] minimal VMS build patch
At 11:37 AM + 8/15/01, Piyush Avichal wrote: >But the mmk fails with compilation warnings(see below). >They all seem to be to do with the same thing. >I have used Compaq C 6.2. > >Any ideas? Very odd, the name-shortening in the XS processor should have taken care of this (and it did for me). Perhaps the quick and dirty approach would be to edit your descrip.mms and add /NAMES=SHORTENED to the CFLAGS qualifier list. >CC/DECC >/Define=("VERSION=""0.02""","XS_VERSION=""0.02""")/Include=(perl_root:[lib.V >MS_VAX.5_6_1.CORE],perl _root:[lib.site_perl.VMS_ >VAX.auto.DBI],usr:[local.include])/Debug/NoOptimize DBDIMP.c >extern void XS_DBD__FreeTDS__st_bind_param_inout(CV *); >^ >%CC-W-LONGEXTERN, The external identifier name exceeds 31 characters; >truncated > to "XS_DBD__FREETDS__ST_BIND_PARAM_". >At line number 180 in >DKA300:[00.DBD-FREETDS-0_02]FREETDS.H;1. -- Craig A. Berry mailto:[EMAIL PROTECTED] "Literary critics usually know what they're talking about. Even if they're wrong." -- Perl creator Larry Wall
RE: [PATCH DBD::FreeTDS 0.02] minimal VMS build patch
Craig, Again, thanks for all your help. I have made the changes that you have suggested. The perl makefile.pl worked. But the mmk fails with compilation warnings(see below). They all seem to be to do with the same thing. I have used Compaq C 6.2. Any ideas? BART(SYSTEM)$ perl makefile.pl Checking if your kit is complete... Looks good MM_VMS: Ignoring unrecognized CCFLAGS elements "-Wall -Wmissing-prototypes -ggdb -static " Using DBI 1.19 installed in /perl_root/lib/site_perl/VMS_VAX/auto/DBI Writing Descrip.MMS for DBD::FreeTDS BART(SYSTEM)$ BART(SYSTEM)$ BART(SYSTEM)$ mmk %MMK-I-ACTNOUPD, action did not update target CONFIG perl "-Iperl_root:[lib]" "-MExtUtils::Install" -e "pm_to_blib({split(' ',)},'[.blib.lib.auto]','')" <.MM_tmp cp freetds.pm [.blib.lib.DBD]freetds.pm AutoSplitting blib/lib/DBD/freetds.pm ([.blib.lib.auto.DBD]FreeTDS) perl "-Iperl_root:[lib.VMS_VAX.5_6_1]" "-Iperl_root:[lib]" -e "use ExtUtils::Mksymlists;" -e "Mksymlists('NAME' => 'DBD::FreeT DS', 'DL_FUNCS' => { }, 'DL_VARS' => [], 'FUNCLIST' => [])" perl -e "print ""[.blib.arch.auto.DBD.FreeTDS]FreeTDS.olb/Include=(dbdimp,freetds,tdslayer) \n[.blib.arch.auto.DBD. FreeTDS]FreeTDS.ol b/Library\n"";" >>FREETDS.OPT perl -e "print qq{PerlShr/Share\n}" >>FREETDS.OPT Copy/NoConfirm FREETDS.OPT [.BLIB.ARCH.AUTO.DBD.FREETDS]FREETDS.OPT CC/DECC /Define=("VERSION=""0.02""","XS_VERSION=""0.02""")/Include=(perl_root:[lib.V MS_VAX.5_6_1.CORE],perl _root:[lib.site_perl.VMS_ VAX.auto.DBI],usr:[local.include])/Debug/NoOptimize DBDIMP.c extern void XS_DBD__FreeTDS__st_bind_param_inout(CV *); ^ %CC-W-LONGEXTERN, The external identifier name exceeds 31 characters; truncated to "XS_DBD__FREETDS__ST_BIND_PARAM_". At line number 180 in DKA300:[00.DBD-FREETDS-0_02]FREETDS.H;1. extern void XS_DBD__FreeTDS__st_fetchrow_arrayref(CV *); ^ %CC-W-LONGEXTERN, The external identifier name exceeds 31 characters; truncated to "XS_DBD__FREETDS__ST_FETCHROW_AR". At line number 182 in DKA300:[00.DBD-FREETDS-0_02]FREETDS.H;1. extern void XS_DBD__FreeTDS__st_fetchrow_array(CV *); ^ %CC-W-LONGEXTERN, The external identifier name exceeds 31 characters; truncated to "XS_DBD__FREETDS__ST_FETCHROW_AR". At line number 184 in DKA300:[00.DBD-FREETDS-0_02]FREETDS.H;1. extern void XS_DBD__FreeTDS__st_fetchrow_array(CV *); ^ %CC-W-DUPEXTERN, The declaration of "XS_DBD__FreeTDS__st_fetchrow_array" will map to the same external name as the declaration of "XS_DBD__FreeTDS__st_fetchrow_arrayref" at line 182 in DKA300:[00.DBD-FREETDS-0_02]FREETDS.H;1. At line number 184 in DKA300:[00.DBD-FREETDS-0_02]FREETDS.H;1. extern void XS_DBD__FreeTDS__st_FETCH_attrib(CV *); ^ %CC-W-LONGEXTERN, The external identifier name exceeds 31 characters; truncated to "XS_DBD__FREETDS__ST_FETCH_ATTRI". At line number 188 in DKA300:[00.DBD-FREETDS-0_02]FREETDS.H;1. %VCG-I-SUMMARY, Completed with 0 error(s), 5 warning(s), and 0 informational messages. At line number 1254 in DKA300:[00.DBD-FREETDS-0_02]DBDIMP.C;2. %MMK-F-ERRUPD, error status %X10B9 occurred when updating target DBDIMP.OBJ Regards, Piyush. -Original Message- From: Craig A. Berry [mailto:[EMAIL PROTECTED]] Sent: 15 August 2001 00:07 To: Piyush Avichal Cc: '[EMAIL PROTECTED]'; [EMAIL PROTECTED] Subject: [PATCH DBD::FreeTDS 0.02] minimal VMS build patch At 03:58 PM 8/14/2001 +, Piyush Avichal wrote to vmsperl: >> I am trying to build the DBD::FreeTDS module for Perl, but >> I am encountering and error when I do the perl makefile.pl >> command : Below is a minimal patch to get DBD::FreeTDS 0.02 to build with Compaq C V6.4-005 on OpenVMS Alpha V7.2-1, Perl 5.6.1, DBI 1.15. IIRC, the use of File::Spec breaks compatibility with Perl 5.004. Piyush, note that DBD::FreeTDS is not under active development and the recommended method is to use DBD::Sybase with the FreeTDS library. Unfortunately the latter does not yet appear to have been ported to VMS. The bottom line of my tests results were (against a SQL Server 7.0 database): Failed 14/46 test scripts, 69.57% okay. 30/550 subtests failed, 94.55% okay. with a number of failures looking like: D0:[CRAIG.DBD-FREETDS-0_02]TDSLAYER.C;3:1774: Not implemented for data type 110 D0:[CRAIG.DBD-FREETDS-0_02]TDSLAYER.C;3:2294: Unhandled subpacket type 0x04 --- dbdimp.c;-0 Thu Feb 18 12:57:00 1999 +++ dbdimp.cTue Aug 14 11:25:36 2001 @@ -836,7 +836,7 @@ static AV *get_row(imp_sth_t *imp_sth) { AV *result; - boolean okay; + boolean okay = false; int num_columns = colinfo_num_columns(imp_sth->tds->colinfo); int i; SV *sv; @@ -847,7 +847,7 @@ * We already peeked and found that the next byte will * be a TDS_ROW_TOKEN