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