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('
',STDIN)},'[.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. Just skip it.
*/
- okay = okay