php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #38029 oci8 make procedure mistake
Submitted: 2006-07-07 02:42 UTC Modified: 2006-10-18 12:02 UTC
Votes:4
Avg. Score:4.0 ± 1.0
Reproduced:3 of 3 (100.0%)
Same Version:2 (66.7%)
Same OS:0 (0.0%)
From: lbc102 at 163 dot com Assigned:
Status: Not a bug Package: OCI8 related
PHP Version: 5.1.4 OS: linux 2.4.21-32.E
Private report: No CVE-ID: None
 [2006-07-07 02:42 UTC] lbc102 at 163 dot com
Description:
------------
hi,seniors,i install oci8 with php5 and oracle10g,i find a mistake when i execute make like this:
[root@test php-5.1.4]# make
/bin/sh /root/software/php-5.1.4/libtool --silent --preserve-dup-deps --mode=compile /root/software/php-5.1.4/meta_ccld  -Iext/oci8/ -I/root/software/php-5.1.4/ext/oci8/ -DPHP_ATOM_INC -I/root/software/php-5.1.4/include -I/root/software/php-5.1.4/main -I/root/software/php-5.1.4 -I/usr/local/include/libxml2 -I/root/software/php-5.1.4/ext/date/lib -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/gd-2.0.28/ -I/usr/local/mysql/include -I/u01/app/oracle/product/10.1.0/db_1//rdbms/public -I/u01/app/oracle/product/10.1.0/db_1//rdbms/demo -I/u01/app/oracle/product/10.1.0/db_1//plsql/public -I/root/software/php-5.1.4/TSRM -I/root/software/php-5.1.4/Zend  -D_REENTRANT  -I/usr/include -g -O2 -pthread -DZTS  -prefer-non-pic -c /root/software/php-5.1.4/ext/oci8/oci8_lob.c -o ext/oci8/oci8_lob.lo 
In file included from /root/software/php-5.1.4/ext/oci8/oci8_lob.c:43:
/root/software/php-5.1.4/ext/oci8/php_oci8_int.h:328: syntax error before "oraub8"
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:150: syntax error before "oraub8"
/root/software/php-5.1.4/ext/oci8/oci8_lob.c: In function `php_oci_lob_callback':
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:155: `len' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:155: (Each undeclared identifier is reported only once
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:155: for each function it appears in.)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:156: `ctxp' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:158: `piece' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:162: `bufxp' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c: In function `php_oci_lob_read':
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:220: `oraub8' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:220: syntax error before "bytes_read"
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:248: `requested_len' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:259: `offset' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:288: `chars_read' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:289: `bytes_read' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:315: syntax error before ')' token
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:315: syntax error before ')' token
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:315: syntax error before "offset"
make: *** [ext/oci8/oci8_lob.lo] Error 1

i ensure oci8_lob.c is the lastest version but i can not find the "oraub8" in any *.h head files,is this a bug or i miss some head files? help me thanks a lot

Reproduce code:
---------------
[root@test php-5.1.4]# make
/bin/sh /root/software/php-5.1.4/libtool --silent --preserve-dup-deps --mode=compile /root/software/php-5.1.4/meta_ccld  -Iext/oci8/ -I/root/software/php-5.1.4/ext/oci8/ -DPHP_ATOM_INC -I/root/software/php-5.1.4/include -I/root/software/php-5.1.4/main -I/root/software/php-5.1.4 -I/usr/local/include/libxml2 -I/root/software/php-5.1.4/ext/date/lib -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/gd-2.0.28/ -I/usr/local/mysql/include -I/u01/app/oracle/product/10.1.0/db_1//rdbms/public -I/u01/app/oracle/product/10.1.0/db_1//rdbms/demo -I/u01/app/oracle/product/10.1.0/db_1//plsql/public -I/root/software/php-5.1.4/TSRM -I/root/software/php-5.1.4/Zend  -D_REENTRANT  -I/usr/include -g -O2 -pthread -DZTS  -prefer-non-pic -c /root/software/php-5.1.4/ext/oci8/oci8_lob.c -o ext/oci8/oci8_lob.lo 
In file included from /root/software/php-5.1.4/ext/oci8/oci8_lob.c:43:
/root/software/php-5.1.4/ext/oci8/php_oci8_int.h:328: syntax error before "oraub8"
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:150: syntax error before "oraub8"
/root/software/php-5.1.4/ext/oci8/oci8_lob.c: In function `php_oci_lob_callback':
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:155: `len' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:155: (Each undeclared identifier is reported only once
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:155: for each function it appears in.)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:156: `ctxp' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:158: `piece' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:162: `bufxp' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c: In function `php_oci_lob_read':
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:220: `oraub8' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:220: syntax error before "bytes_read"
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:248: `requested_len' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:259: `offset' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:288: `chars_read' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:289: `bytes_read' undeclared (first use in this function)
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:315: syntax error before ')' token
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:315: syntax error before ')' token
/root/software/php-5.1.4/ext/oci8/oci8_lob.c:315: syntax error before "offset"
make: *** [ext/oci8/oci8_lob.lo] Error 1


Expected result:
----------------
make procedure success


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-07-07 08:33 UTC] tony2001@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip


 [2006-09-08 10:02 UTC] roland dot wendler at miele dot de
I have a similar problem on an IBM-AIX system: 

Error Message after invoking "make":
------------------------------------
/bin/sh /usr/src/php5.2-200609071230/libtool --silent --preserve-dup-deps --mode=compile gcc  -Iext/oci8/ -I/usr/src/php5.2-200609071230/ext/oci8/ -DPHP_ATOM_INC -I/usr/src/php5.2-200609071230/include -I/usr/src/php5.2-200609071230/main -I/usr/src/php5.2-200609071230 -I/usr/local/include/libxml2 -I/usr/src/php5.2-200609071230/ext/date/lib -I/usr/local/include -I/oracle/client/102_64/rdbms/public -I/oracle/client/102_64/rdbms/demo -I/usr/src/php5.2-200609071230/TSRM -I/usr/src/php5.2-200609071230/Zend    -I/usr/include -g -O2   -c /usr/src/php5.2-200609071230/ext/oci8/oci8.c -o ext/oci8/oci8.lo
In file included from /usr/src/php5.2-200609071230/ext/oci8/oci8.c:50:
/usr/src/php5.2-200609071230/ext/oci8/php_oci8_int.h:343: error: parse error before 'oraub8'
/usr/src/php5.2-200609071230/ext/oci8/oci8.c: In function 'php_oci_init_global_handles':
/usr/src/php5.2-200609071230/ext/oci8/oci8.c:433: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
/usr/src/php5.2-200609071230/ext/oci8/oci8.c: In function 'php_oci_fetch_errmsg':
/usr/src/php5.2-200609071230/ext/oci8/oci8.c:913: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
/usr/src/php5.2-200609071230/ext/oci8/oci8.c:920: warning: pointer targets in passing argument 1 of '_estrndup' differ in signedness
/usr/src/php5.2-200609071230/ext/oci8/oci8.c:920: warning: pointer targets in assignment differ in signedness
/usr/src/php5.2-200609071230/ext/oci8/oci8.c: In function 'php_oci_do_connect_ex':
/usr/src/php5.2-200609071230/ext/oci8/oci8.c:1032: warning: pointer targets in passing argument 2 of 'OCINlsCharSetNameToId' differ in signedness
make: 1254-004 The error code from the last command is 1.

Environment:
------------
[root]# export ORACLE_HOME=/oracle/client/102_64
[root]# export LIBPATH=$LIBPATH:$ORACLE_HOME/lib
[root]# export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib

Invoking configure:
-------------------
./configure  \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-ldap \
--with-oracle=/oracle/client/102_64 \
--with-oci8=/oracle/client/102_64 \
--prefix=/usr/local/apache2/php \
--without-mysql

Excerpt from configure:
-----------------------
checking host system type... powerpc-ibm-aix5.3.0.0
checking size of long int... 4
checking checking if we're at 64-bit platform... no
checking OCI8 libraries dir... lib32

Comments:
---------
As you all can see, I tried the latest CVS snapshot.
I guess that there is a problem identifying the 64-bit Environment. The OCI8-library-path has to be /path/to/oracle_home/lib instead of .../lib32
 [2006-10-18 12:00 UTC] lzsiga at freemain dot c3 dot hu
I've reproduced the problem too, my config:
AIX-5.2
php-5.1.6
Oracle-10g

Error: oraub8 undeclared

Cause: $ORAHOME/rbms/public/oratypes.h (for some mental or religional reasons) contains these lines:

/* --- Signed/Unsigned eight-byte scalar (orasb8/oraub8) --- */

#if (__STDC__ != 1) || defined(__64BIT__)
# define ORAXB8_DEFINED 
# ifndef lint 
#  ifdef __64BIT__ 
    typedef unsigned long oraub8;
    typedef   signed long orasb8;

Solution:
1. Add '|| defined(HAVE_LONG_LONG)' to the #if
2. Before configuring php, execute 'export CFLAGS="$CFLAGS -DHAVE_LONG_LONG"'
 [2006-10-18 12:02 UTC] tony2001@php.net
See bug #39178.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 26 01:01:30 2024 UTC