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

Reply via email to