php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #34995 Problems Compiling OCI8 > 1.1 Extension
Submitted: 2005-10-26 21:55 UTC Modified: 2005-10-26 22:43 UTC
From: nick at us dot maskina dot com Assigned:
Status: Not a bug Package: OCI8 related
PHP Version: 4.4.0 OS: Red Hat Linux 9 (Shrike)
Private report: No CVE-ID: None
 [2005-10-26 21:55 UTC] nick at us dot maskina dot com
Description:
------------
When attempting to compile PHP 4.4.0 with the recently 
updated OCI8 extension (http://pecl.php.net/package/oci8, 
1.1 and/or 1.1.1) statically compiled in I am receiving 
numerous errors regarding:

undefined reference to `zif_oci_***'

Everything compiles and works correctly using OCI8 1.0.

I am able to compile as a shared extension, HOWEVER when 
starting apache the following error is returned by Apache:

PHP Warning:  Unknown(): Unable to load dynamic library '/
usr/local/lib/php/extensions/oci8.so' - /usr/local/lib/php/
extensions/oci8.so: undefined symbol: php_oci_statement_free 
in Unknown on line 0

Oracle version is 8.1.7.3

Reproduce code:
---------------
./configure --with-oci8=/usr/local/oracle/Orahome81

Expected result:
----------------
Successful Compile

Actual result:
--------------
/home/nick/src/php-4.4.0/ext/mysql/libmysql/my_tempnam.c:
115: the use of `tempnam' is dangerous, better use `mkstemp'
ext/oci8/oci8.lo(.text+0x970): In function 
`php_oci_descriptor_flush_hash_dtor':
/home/nick/src/php-4.4.0/ext/oci8/oci8.c:749: undefined 
reference to `php_oci_lob_flush'
ext/oci8/oci8.lo(.text+0x21b2): In function 
`php_oci_column_to_zval':
/home/nick/src/php-4.4.0/ext/oci8/oci8.c:1479: undefined 
reference to `php_oci_lob_read'
ext/oci8/oci8.lo(.text+0x22b0): In function 
`php_oci_fetch_row':
/home/nick/src/php-4.4.0/ext/oci8/oci8.c:1560: undefined 
reference to `php_oci_statement_fetch'
ext/oci8/oci8.lo(.text+0x23b3):/home/nick/src/php-4.4.0/ext/
oci8/oci8.c:1568: undefined reference to 
`php_oci_statement_get_column'
ext/oci8/oci8.lo(.text+0x865): In function 
`php_oci_statement_list_dtor':
/home/nick/src/php-4.4.0/ext/oci8/oci8.c:668: undefined 
reference to `php_oci_statement_free'
ext/oci8/oci8.lo(.text+0x879): In function 
`php_oci_descriptor_list_dtor':
/home/nick/src/php-4.4.0/ext/oci8/oci8.c:676: undefined 
reference to `php_oci_lob_free'
ext/oci8/oci8.lo(.text+0x88d): In function 
`php_oci_collection_list_dtor':
/home/nick/src/php-4.4.0/ext/oci8/oci8.c:684: undefined 
reference to `php_oci_collection_close'
ext/oci8/oci8.lo(.data+0x4): In function 
`php_oci_init_global_handles':
/home/nick/src/php-4.4.0/ext/oci8/oci8.c:382: undefined 
reference to `zif_oci_define_by_name'
ext/oci8/oci8.lo(.data+0x10):/home/nick/src/php-4.4.0/ext/
oci8/oci8.c:387: undefined reference to 
`zif_oci_bind_by_name'
ext/oci8/oci8.lo(.data+0x1c):/home/nick/src/php-4.4.0/ext/
oci8/oci8.c:384: undefined reference to 
`zif_oci_field_is_null'
ext/oci8/oci8.lo(.data+0x28):/home/nick/src/php-4.4.0/ext/
oci8/oci8.c:389: undefined reference to `zif_oci_field_name'
...
...


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-10-26 22:10 UTC] tony2001@php.net
Works perfectly here with any PHP version, including 4.4.
Make sure that you have *removed* the old extension and copied all new files in ext/oci8.
Run `./buildconf --force && ./configure .. && make` after that and it should work fine.
 [2005-10-26 22:39 UTC] nick at us dot maskina dot com
Thanks, the './buildconf --force' did the trick.  Sorry for my 
ignorance... it's compiled and working great.  

The new configuration options (especially oci8.max_persistent) 
are a godsend... and hopefully the other fixes will solve the 
many unreproducible errors I've been getting that are causing 
rogue processes on the Oracle server.

Thanks again!
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed Jul 02 11:01:36 2025 UTC