From:             [EMAIL PROTECTED]
Operating system: Linux 2.2.16
PHP version:      4.0.4
PHP Bug Type:     Compile Failure
Bug description:  build problem with informix esql 9.30 and iODBC 2.50.3

make fails with Informix-ESQL and iODBC configured both.
when only one of both modules is configured, make works.

there seem's to be a conflict with libtool and two included sql.h-files

error-message:
/bin/sh /tmp/php-4.0.4/libtool --silent --mode=compile gcc  -I. -I/tmp/php-4.0.4/main
-I/tmp/php-4.0.4/main -I/tmp/php-4.0.4 -I/opt/apache/include -I/tmp/php-4.0.4/Zend 
-I/opt/informix/incl/esql -I/opt/iodbc/include -I/tmp/php-4.0.4/TSRM  -DLINUX=2 
-DUSE_HSREGEX 
-DUSE_EXPAT -g -O2 -I/opt/informix/incl/esql  -c internal_functions.c
In file included from /tmp/php-4.0.4/ext/odbc/php_odbc.h:95,
                 from internal_functions.c:37:
/opt/iodbc/include/sql.h:197: parse error before `SQL_API'
/opt/iodbc/include/sql.h:198: parse error before `henv'
/opt/iodbc/include/sql.h:199: warning: data definition has no type or storage class
...

in iodbc/include/sql.h: 197:
SQLRETURN SQL_API SQLAllocConnect (
  SQLHENV henv
  SQLHDBC FAR * phdbc);

SQLRETURN seems to be defined in informix/sql.h, that is included
before iodbc/sql.h

a workaround is to change the includes in php_odbc.h:95,96
to full pathnames. 
#include "/opt/iodbc/include/sql.h"
#include "/opt/iodbc/include/sqlext.h"

I know that's not the solution, but I'm not a C-Programmer...




-- 
Edit Bug report at: http://bugs.php.net/?id=9009&edit=1



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to