Christian Stalp
Tue, 17 Aug 2004 02:43:33 -0700
Hello again, I still have the problem to build a ODBC-Driver for Adabas. I got a last chance to manage it with perl, next week I have to do it with c. Im sure this has something to do with the bad installation of Adabas, but the person who made this, is no longer available. So I have to fix it.
My enviroment:
HPUX 10.20 on PA-RISC
Perl v5.8.3
DBI-1.42
DBD-ODBC-1.09
I send you the output of make and the first Header which cause a parse-error
- isql.h
Makefile.PL made everything ok.
This is the output I got from make:
[imserv03]/home/STALP/DBD-ODBC-1.09 > make
/usr/local/bin/gcc -c -I/REFDB_HOME/referenz/adabas_d/include -I.
-I/usr/local/lib/perl5/5.8.3/PA-RISC2.0/auto/DBI -D_HPUX_SOURCE
-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -O2
-DVERSION=\"1.09\" -DXS_VERSION=\"1.09\" -fPIC
"-I/usr/local/lib/perl5/5.8.3/PA-RISC2.0/CORE"
-I/REFDB_HOME/referenz/adabas_d/include ODBC.c
In file included from /REFDB_HOME/referenz/adabas_d/include/isqlext.h:4,
from dbdodbc.h:6,
from ODBC.h:9,
from ODBC.xs:1:
/REFDB_HOME/referenz/adabas_d/include/isql.h:10: error: parse error before
'*' token
/REFDB_HOME/referenz/adabas_d/include/isql.h:10: warning: data definition has
no type or storage class
/REFDB_HOME/referenz/adabas_d/include/isql.h:12: error: parse error before
'*' token
/REFDB_HOME/referenz/adabas_d/include/isql.h:12: warning: data definition has
no type or storage class
/REFDB_HOME/referenz/adabas_d/include/isql.h:13: error: parse error before
'*' token
/REFDB_HOME/referenz/adabas_d/include/isql.h:13: warning: data definition has
no type or storage class
/REFDB_HOME/referenz/adabas_d/include/isql.h:14: error: parse error before
'*' token
/REFDB_HOME/referenz/adabas_d/include/isql.h:14: warning: data definition has
no type or storage class
In file included from dbdodbc.h:6,
from ODBC.h:9,
from ODBC.xs:1:
/REFDB_HOME/referenz/adabas_d/include/isqlext.h:300: error: parse error
before "CALLBACK"
/REFDB_HOME/referenz/adabas_d/include/isqlext.h:300: error: parse error
before "UWORD"
/REFDB_HOME/referenz/adabas_d/include/isqlext.h:300: warning: data definition
has no type or storage class
/REFDB_HOME/referenz/adabas_d/include/isqlext.h:301: error: parse error
before "CALLBACK"
/REFDB_HOME/referenz/adabas_d/include/isqlext.h:301: error: parse error
before "SWORD"
/REFDB_HOME/referenz/adabas_d/include/isqlext.h:301: warning: data definition
has no type or storage class
In file included from /REFDB_HOME/referenz/adabas_d/include/sql.h:1,
from dbdodbc.h:7,
from ODBC.h:9,
from ODBC.xs:1:
/REFDB_HOME/referenz/adabas_d/include/sqltypes.h:35:1: warning: "SQL_API"
redefined
In file included from /REFDB_HOME/referenz/adabas_d/include/isqlext.h:4,
from dbdodbc.h:6,
from ODBC.h:9,
from ODBC.xs:1:
/REFDB_HOME/referenz/adabas_d/include/isql.h:21:1: warning: this is the
location of the previous definition
In file included from /REFDB_HOME/referenz/adabas_d/include/sql.h:1,
from dbdodbc.h:7,
from ODBC.h:9,
from ODBC.xs:1:
/REFDB_HOME/referenz/adabas_d/include/sqltypes.h:106: error: redefinition of
`UCHAR'
/REFDB_HOME/referenz/adabas_d/include/isql.h:4: error: `UCHAR' previously
declared here
/REFDB_HOME/referenz/adabas_d/include/sqltypes.h:118: error: redefinition of
`SDWORD'
/REFDB_HOME/referenz/adabas_d/include/isql.h:5: error: `SDWORD' previously
declared here
/REFDB_HOME/referenz/adabas_d/include/sqltypes.h:122: error: redefinition of
`SWORD'
/REFDB_HOME/referenz/adabas_d/include/isql.h:6: error: `SWORD' previously
declared here
/REFDB_HOME/referenz/adabas_d/include/sqltypes.h:126: error: redefinition of
`UDWORD'
/REFDB_HOME/referenz/adabas_d/include/isql.h:7: error: `UDWORD' previously
declared here
/REFDB_HOME/referenz/adabas_d/include/sqltypes.h:130: error: redefinition of
`UWORD'
/REFDB_HOME/referenz/adabas_d/include/isql.h:8: error: `UWORD' previously
declared here
/REFDB_HOME/referenz/adabas_d/include/sqltypes.h:166: error: `PTR' redeclared
as different kind of symbol
/REFDB_HOME/referenz/adabas_d/include/isql.h:10: error: previous declaration
of `PTR'
/REFDB_HOME/referenz/adabas_d/include/sqltypes.h:168: error: `HENV'
redeclared as different kind of symbol
/REFDB_HOME/referenz/adabas_d/include/isql.h:12: error: previous declaration
of `HENV'
/REFDB_HOME/referenz/adabas_d/include/sqltypes.h:169: error: `HDBC'
redeclared as different kind of symbol
/REFDB_HOME/referenz/adabas_d/include/isql.h:13: error: previous declaration
of `HDBC'
/REFDB_HOME/referenz/adabas_d/include/sqltypes.h:170: error: `HSTMT'
redeclared as different kind of symbol
/REFDB_HOME/referenz/adabas_d/include/isql.h:14: error: previous declaration
of `HSTMT'
/REFDB_HOME/referenz/adabas_d/include/sqltypes.h:173: error: redefinition of
`RETCODE'
/REFDB_HOME/referenz/adabas_d/include/isql.h:16: error: `RETCODE' previously
declared here
In file included from dbdodbc.h:7,
from ODBC.h:9,
from ODBC.xs:1:
/REFDB_HOME/referenz/adabas_d/include/sql.h:510:1: warning: "SQL_CB_DELETE"
redefined
In file included from dbdodbc.h:6,
from ODBC.h:9,
from ODBC.xs:1:
/REFDB_HOME/referenz/adabas_d/include/isqlext.h:164:1: warning: this is the
location of the previous definition
In file included from dbdodbc.h:7,
from ODBC.h:9,
from ODBC.xs:1:
/REFDB_HOME/referenz/adabas_d/include/sql.h:511:1: warning: "SQL_CB_CLOSE"
redefined
In file included from dbdodbc.h:6,
from ODBC.h:9,
from ODBC.xs:1:
/REFDB_HOME/referenz/adabas_d/include/isqlext.h:165:1: warning: this is the
location of the previous definition
In file included from dbdodbc.h:7,
from ODBC.h:9,
from ODBC.xs:1:
/REFDB_HOME/referenz/adabas_d/include/sql.h:512:1: warning: "SQL_CB_PRESERVE"
redefined
In file included from dbdodbc.h:6,
from ODBC.h:9,
from ODBC.xs:1:
/REFDB_HOME/referenz/adabas_d/include/isqlext.h:166:1: warning: this is the
location of the previous definition
In file included from dbdodbc.h:7,
from ODBC.h:9,
from ODBC.xs:1:
/REFDB_HOME/referenz/adabas_d/include/sql.h:744: error: conflicting types for
`SQLNumResultCols'
/REFDB_HOME/referenz/adabas_d/include/isqlext.h:301: error: previous
declaration of `SQLNumResultCols'
/REFDB_HOME/referenz/adabas_d/include/sql.h:765: error: conflicting types for
`SQLSetConnectOption'
/REFDB_HOME/referenz/adabas_d/include/isqlext.h:300: error: previous
declaration of `SQLSetConnectOption'
ODBC.xs: In function `XS_DBD__ODBC__db_GetFunctions':
ODBC.xs:172: error: `SQL_API_ODBC3_ALL_FUNCTIONS_SIZE' undeclared (first use
in
this function)
ODBC.xs:172: error: (Each undeclared identifier is reported only once
ODBC.xs:172: error: for each function it appears in.)
ODBC.xs:185: error: `SQL_API_ODBC3_ALL_FUNCTIONS' undeclared (first use in
this
function)
*** Error-Code 1
Stopp.
For example I send you the first C-Header which cause a parse-error:
/REFDB_HOME/referenz/adabas_d/include/isql.h:10: error: parse error before
'*' token
This is it:
#ifndef _INTRINSIC_SQL_H
# define _INTRINSIC_SQL_H
typedef unsigned char UCHAR;
typedef long int SDWORD;
typedef short int SWORD;
typedef unsigned long int UDWORD;
typedef unsigned short int UWORD;
typedef void FAR* PTR;
typedef void FAR* HENV;
typedef void FAR* HDBC;
typedef void FAR* HSTMT;
typedef signed short RETCODE;
# ifdef WIN32
# define SQL_API __stdcall
# else
# define SQL_API EXPORT CALLBACK
# endif
# define ODBCVER 0x0200
# define SQL_MAX_MESSAGE_LENGTH 512
# define SQL_MAX_DSN_LENGTH 32
/* return code */
# define SQL_INVALID_HANDLE (-2)
# define SQL_ERROR (-1)
# define SQL_SUCCESS 0
# define SQL_SUCCESS_WITH_INFO 1
# define SQL_NO_DATA_FOUND 100
/* standard SQL datatypes (agree with ANSI type numbering) */
# define SQL_CHAR 1
# define SQL_NUMERIC 2
# define SQL_DECIMAL 3
# define SQL_INTEGER 4
# define SQL_SMALLINT 5
# define SQL_FLOAT 6
# define SQL_REAL 7
# define SQL_DOUBLE 8
# define SQL_VARCHAR 12
# define SQL_TYPE_MIN SQL_CHAR
# define SQL_TYPE_NULL 0
# define SQL_TYPE_MAX SQL_VARCHAR
/* C to SQL datatype mapping */
# define SQL_C_CHAR SQL_CHAR
# define SQL_C_LONG SQL_INTEGER
# define SQL_C_SHORT SQL_SMALLINT
# define SQL_C_FLOAT SQL_REAL
# define SQL_C_DOUBLE SQL_DOUBLE
# define SQL_C_DEFAULT 99
# define SQL_NO_NULLS 0
# define SQL_NULLABLE 1
# define SQL_NULLABLE_UNKNOWN 2
/* some special length values */
# define SQL_NULL_DATA (-1)
# define SQL_DATA_AT_EXEC (-2)
# define SQL_NTS (-3)
/* SQLFreeStmt flag values */
# define SQL_CLOSE 0
# define SQL_DROP 1
# define SQL_UNBIND 2
# define SQL_RESET_PARAMS 3
/* SQLTransact flag values */
# define SQL_COMMIT 0
# define SQL_ROLLBACK 1
/* SQLColAttributes flag values */
# define SQL_COLUMN_COUNT 0
# define SQL_COLUMN_LABEL 18
# define SQL_COLATT_OPT_MAX SQL_COLUMN_LABEL
# define SQL_COLUMN_DRIVER_START 1000
# define SQL_COLATT_OPT_MIN SQL_COLUMN_COUNT
/* Null handles */
# define SQL_NULL_HENV 0
# define SQL_NULL_HDBC 0
# define SQL_NULL_HSTMT 0
#endif
I hope anybody can help me.
Thank you!
Gruss Christian