Dear ones,
I am facing problems to get DBD:ODBC compiled on AIX. Here is the environment: - AIX 5.3 64 bits - Perl 5.8.2 64 bits bundled with AIX - DBI 1.50 (compiled with IBM C compiler 64 bits) - DBD:Informix 2005 (compiled with IBM C compiler 64 bits) - DBD:Oracle 1.19 (compiled with IBM C compiler 64 bits) - unixODBC 2.2.12 32 bits ( I have Informix and freeTDS 32 bits drivers working with this version ) Here is what happens when I try to compile it: [EMAIL PROTECTED]:/home/ebispo/perl/DBD-ODBC-1.17_1 >perl Makefile.PL Useless use of private variable in void context at Makefile.PL line 647. You are using a Perl configured with threading enabled. Please read the warnings in DBI about this. You should also be aware that on non-Windows platforms ODBC drivers come in two forms, thread-safe and non-thread-safe drivers and you may need to make sure you are using the right one. Press return to continue... >>> Remember to actually *READ* the README file! And re-read it if you have any problems. Set ODBC HOME to /usr/local/unixODBC from odbc_config Found what looks like a driver manager in /usr/local/unixODBC Using ODBC in /usr/local/unixODBC This looks like a unixodbc type of driver manager. odbcinst -j reports: unixODBC 2.2.12 DRIVERS............: /usr/local/unixODBC/etc/odbcinst.ini SYSTEM DATA SOURCES: /usr/local/unixODBC/etc/odbc.ini USER DATA SOURCES..: /usr/local/unixODBC/etc/odbc.ini odbc_config --prefix = /usr/local/unixODBC odbc_config --include-prefix = /usr/local/unixODBC/include odbc_config --lib-prefix = /usr/local/unixODBC/lib odbc_config --version = 2.2.12 odbc_config --odbcversion = 3 Adding odbc_config --cflags "-DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 " to CC line We expect to find the sql.h, sqlext.h, sqltypes.h and sqlucode.h (which were supplied with unixODBC) in $ODBCHOME/include directory alongside the /usr/local/unixODBC/lib/libodbc.a library in $ODBCHOME/lib Checking if your kit is complete... Looks good Using DBI 1.50 (for perl 5.008002 on aix-thread-multi-64all) installed in /usr/opt/perl5/lib64/site_perl/5.8.2/aix-thread-multi-64all/auto/DBI/ Using DBI 1.50 (for perl 5.008002 on aix-thread-multi-64all) installed in /usr/opt/perl5/lib64/site_perl/5.8.2/aix-thread-multi-64all/auto/DBI/ Writing Makefile for DBD::ODBC The DBD::ODBC tests will use these values for the database connection: DBI_DSN=dbi:ODBC:Database e.g. dbi:ODBC:demo DBI_USER=user DBI_PASS=password [EMAIL PROTECTED]:/home/ebispo/perl/DBD-ODBC-1.17_1 >sudo make cp Changes blib/lib/DBD/ODBC/Changes.pm cp FAQ blib/lib/DBD/ODBC/FAQ.pm cp ODBC.pm blib/lib/DBD/ODBC.pm /usr/bin/perl -e 'use ExtUtils::Mksymlists; Mksymlists("NAME" => "DBD::ODBC", "DL_FUNCS" => { }, "FUNCLIST" => [], "DL_VARS" => []);' cc_r -c -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 -I/usr/local/unixODBC/include -I. -I/usr/opt/perl5/lib64/site_perl/5.8.2/aix-thread-multi-64all/auto/DBI/ -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"1.17_1\" -DXS_VERSION=\"1.17_1\" "-I/usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE" -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 -I/usr/local/unixODBC/include ConvertUTF.c "ConvertUTF.c", line 575.26: 1506-356 (W) Compilation unit is empty. /usr/bin/perl -p -e "s/~DRIVER~/ODBC/g" /usr/opt/perl5/lib64/site_perl/5.8.2/aix-thread-multi-64all/auto/DBI//Dr iver.xst > ODBC.xsi /usr/bin/perl /usr/opt/perl5/lib64/5.8.2/ExtUtils/xsubpp -typemap /usr/opt/perl5/lib64/5.8.2/ExtUtils/typemap ODBC.xs > ODBC.xsc && mv ODBC.xsc ODBC.c Warning: duplicate function definition 'data_sources' detected in ODBC.xs, line 217 cc_r -c -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 -I/usr/local/unixODBC/include -I. -I/usr/opt/perl5/lib64/site_perl/5.8.2/aix-thread-multi-64all/auto/DBI/ -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"1.17_1\" -DXS_VERSION=\"1.17_1\" "-I/usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE" -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 -I/usr/local/unixODBC/include ODBC.c cc_r -c -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 -I/usr/local/unixODBC/include -I. -I/usr/opt/perl5/lib64/site_perl/5.8.2/aix-thread-multi-64all/auto/DBI/ -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"1.17_1\" -DXS_VERSION=\"1.17_1\" "-I/usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE" -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 -I/usr/local/unixODBC/include dbdimp.c cc_r -c -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 -I/usr/local/unixODBC/include -I. -I/usr/opt/perl5/lib64/site_perl/5.8.2/aix-thread-multi-64all/auto/DBI/ -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 -DUSE_64_BIT_ALL -q64 -O -DVERSION=\"1.17_1\" -DXS_VERSION=\"1.17_1\" "-I/usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE" -DHAVE_UNISTD_H -DHAVE_PWD_H -DHAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG=4 -I/usr/local/unixODBC/include unicode_helper.c "unicode_helper.c", line 383.26: 1506-356 (W) Compilation unit is empty. Running Mkbootstrap for DBD::ODBC () chmod 644 ODBC.bs rm -f blib/arch/auto/DBD/ODBC/ODBC.so LD_RUN_PATH="" ld -b64 -bhalt:4 -bM:SRE -bI:/usr/opt/perl5/lib64/5.8.2/aix-thread-multi-64all/CORE/perl.exp -bE:ODBC.exp -bnoentry -lpthreads -lc_r ConvertUTF.o ODBC.o dbdimp.o unicode_helper.o -o blib/arch/auto/DBD/ODBC/ODBC.so -L/usr/local/unixODBC/lib -lodbc ld: 0711-317 ERROR: Undefined symbol: .SQLAllocHandle ld: 0711-317 ERROR: Undefined symbol: .SQLPrepare ld: 0711-317 ERROR: Undefined symbol: .SQLSetStmtAttr ld: 0711-317 ERROR: Undefined symbol: .SQLFreeStmt ld: 0711-317 ERROR: Undefined symbol: .SQLFreeHandle ld: 0711-317 ERROR: Undefined symbol: .SQLStatistics ld: 0711-317 ERROR: Undefined symbol: .SQLRowCount ld: 0711-317 ERROR: Undefined symbol: .SQLDescribeParam ld: 0711-317 ERROR: Undefined symbol: .SQLBindParameter ld: 0711-317 ERROR: Undefined symbol: .SQLNumResultCols ld: 0711-317 ERROR: Undefined symbol: .SQLMoreResults ld: 0711-317 ERROR: Undefined symbol: .SQLDescribeCol ld: 0711-317 ERROR: Undefined symbol: .SQLColAttributes ld: 0711-317 ERROR: Undefined symbol: .SQLBindCol ld: 0711-317 ERROR: Undefined symbol: .SQLError ld: 0711-317 ERROR: Undefined symbol: .SQLSetEnvAttr ld: 0711-317 ERROR: Undefined symbol: .SQLSetConnectAttr ld: 0711-317 ERROR: Undefined symbol: .SQLGetInfo ld: 0711-317 ERROR: Undefined symbol: .SQLGetFunctions ld: 0711-317 ERROR: Undefined symbol: .SQLExecDirect ld: 0711-317 ERROR: Undefined symbol: .SQLForeignKeys ld: 0711-317 ERROR: Undefined symbol: .SQLSpecialColumns ld: 0711-317 ERROR: Undefined symbol: .SQLPrimaryKeys ld: 0711-317 ERROR: Undefined symbol: .SQLTables ld: 0711-317 ERROR: Undefined symbol: .SQLColumns ld: 0711-317 ERROR: Undefined symbol: .SQLCancel ld: 0711-317 ERROR: Undefined symbol: .SQLGetTypeInfo ld: 0711-317 ERROR: Undefined symbol: .SQLGetCursorName ld: 0711-317 ERROR: Undefined symbol: .SQLGetData ld: 0711-317 ERROR: Undefined symbol: .SQLFetch ld: 0711-317 ERROR: Undefined symbol: .SQLExecute ld: 0711-317 ERROR: Undefined symbol: .SQLParamData ld: 0711-317 ERROR: Undefined symbol: .SQLPutData ld: 0711-317 ERROR: Undefined symbol: .SQLGetConnectOption ld: 0711-317 ERROR: Undefined symbol: .SQLSetConnectOption ld: 0711-317 ERROR: Undefined symbol: .SQLDisconnect ld: 0711-317 ERROR: Undefined symbol: .SQLTransact ld: 0711-317 ERROR: Undefined symbol: .SQLDriverConnect ld: 0711-317 ERROR: Undefined symbol: .SQLConnect ld: 0711-317 ERROR: Undefined symbol: .SQLAllocEnv ld: 0711-317 ERROR: Undefined symbol: .SQLDataSources ld: 0711-317 ERROR: Undefined symbol: .SQLFreeEnv ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. make: 1254-004 The error code from the last command is 8. Stop. I know it probably has to do with the fact my perl is 64 bits and unixODBC is 32 bits but I do not know how to workaround it. Any help would be appreciated. Thanks in advance. Eduardo Alves Bispo Fone: 2187-0058 Especialista de TI Cel.: 9227-6648 Database and System Operations E-mail: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> (NOVO!!)
<<image002.jpg>>