ID: 37284
User updated by: jnavratil at houston dot rr dot com
Reported By: jnavratil at houston dot rr dot com
-Status: Feedback
+Status: Open
Bug Type: Compile Failure
Operating System: Solaris 8
PHP Version: 5.1.3
New Comment:
If Oracle 8 support is to be dropped (not unreasonable, though
unfortunate), then we probably need to update the documentation which
claims support for Oracle 7 and 8.
That said, I was reading oci8.c and determined that the offending
routine checks the server connection status and is used prior to
attempting to "ping" the server as part of a check to see if the server
hasn't dropped the connection. If that is so, could the
'php_oci_connection_status()' routine simply return success (i.e. '1')
and let the ping use OCIServerVersion to test the connection? I will
test this approach on my 8.0.5 machine, although no program is ever
proven correct through testing.
Assuming you think this approach is justified, can you think of a way
to determine which major/minor version introduced these preprocessor
variables. My searches have been inconclusive.
Previous Comments:
------------------------------------------------------------------------
[2006-05-02 20:38:43] [EMAIL PROTECTED]
Unfortunately I don't have Oracle8, so I can't test and/or fix it.
I should also note that it was decided to drop Oracle8 support, but I
think the patch could be accepted.
------------------------------------------------------------------------
[2006-05-02 20:30:27] jnavratil at houston dot rr dot com
(Got OS wrong initially)
------------------------------------------------------------------------
[2006-05-02 20:27:39] jnavratil at houston dot rr dot com
Description:
------------
oci8.c references undeclared OCI_ATTR_SERVER_STATUS and
OCI_SERVER_NORMAL which are not defined in Oracle 8.0.5 headers (they
appear to have been first defined in 9i). The result is a compile
failure of oci8.c.
Reproduce code:
---------------
configure --with-oci8=${ORACLE_HOME}
make
Expected result:
----------------
build of oci8 extension.
Actual result:
--------------
/bin/sh /usr/local/src/php-5.1.3/libtool --silent --preserve-dup-deps
--mode=compile gcc -Iext/oci8/ -I/usr/local/src/php-5.1.3/ext/oci8/
-DPHP_ATOM_INC -I/usr/local/src/php-5.1.3/include
-I/usr/local/src/php-5.1.3/main -I/usr/local/src/php-5.1.3
-I/usr/local/include/libxml2 -I/usr/local/ssl/include
-I/usr/local/include -I/usr/local/src/php-5.1.3/ext/date/lib
-I/usr/local/include/freetype2
-I/u00/app/oracle/product/8.0.5/rdbms/demo
-I/u00/app/oracle/product/8.0.5/network/public
-I/u00/app/oracle/product/8.0.5/plsql/public
-I/usr/local/src/php-5.1.3/TSRM -I/usr/local/src/php-5.1.3/Zend
-D_POSIX_PTHREAD_SEMANTICS -I/usr/local/include -g -O2 -c
/usr/local/src/php-5.1.3/ext/oci8/oci8.c -o ext/oci8/oci8.lo
/usr/local/src/php-5.1.3/ext/oci8/oci8.c: In function
`php_oci_connection_status':
/usr/local/src/php-5.1.3/ext/oci8/oci8.c:1384: error:
`OCI_ATTR_SERVER_STATUS' undeclared (first use in this function)
/usr/local/src/php-5.1.3/ext/oci8/oci8.c:1384: error: (Each undeclared
identifier is reported only once
/usr/local/src/php-5.1.3/ext/oci8/oci8.c:1384: error: for each function
it appears in.)
/usr/local/src/php-5.1.3/ext/oci8/oci8.c:1386: error:
`OCI_SERVER_NORMAL' undeclared (first use in this function)
make: *** [ext/oci8/oci8.lo] Error 1
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=37284&edit=1