Bug #68124 [Asn->Nab]: Can not compile OCI8 with PHP5.6
| From: | sixd@php.net | Date: | Fri, 03 Oct 2014 14:55:59 +0000 |
| Subject: | Bug #68124 [Asn->Nab]: Can not compile OCI8 with PHP5.6 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-187820@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=68124&edit=1
ID: 68124
Updated by: sixd@php.net
Reported by: afaurtosh at ucmerced dot edu
Summary: Can not compile OCI8 with PHP5.6
-Status: Assigned
+Status: Not a bug
Type: Bug
Package: OCI8 related
Operating System: RHEL 6.5
PHP Version: 5.6.0
Assigned To: sixd
Block user comment: N
Private report: N
New Comment:
Remi's PHP was built with "DTrace Support enabled". This means that
OCI8 is also expecting to be built with DTrace enabled - as shown by
the #define.
The preferred route would be to install OCI8 following
http://php.net/manual/en/oci8.dtrace.php.
Alternatively use phpize and do:
./configure --enable-dtrace --with-oci8=...
The workaround of commenting out HAVE_OCI8_DTRACE should be fine but
won't allow you to dynamically trace OCI8 if you want to investigate a
problem.
On RHEL you would use systemtap for tracing:
http://php.net/manual/en/features.dtrace.systemtap.php
On other platforms like Oracle Linux or Solaris you would use real
DTrace, which is better.
Previous Comments:
------------------------------------------------------------------------
[2014-10-02 20:35:19] afaurtosh at ucmerced dot edu
I found out the bug! It's not a php bug, it's a configuration setting that is coming from
the remi repository.
When you install "sudo yum --enablerepo=remi,remi-php56 install php-fpm"
It comes with a configuration php file.
The file is located in /usr/include/php/main/php_config.h
This config has HAVE_OCI8_DTRACE defined
/* Defined to 1 if PHP OCI8 DTrace support was enabled during configuration */
#define HAVE_OCI8_DTRACE 1
Once you uncomment that out, it will make file correctly!
------------------------------------------------------------------------
[2014-10-02 16:33:05] afaurtosh at ucmerced dot edu
Another thing I should note, is when I do run the ./configure command, it processes a lot of
checks... I noticed that one of them was:
checking OCI8 DTrace support... no
So during the checks, it knows that I don't have DTrace support. However, it seems odd that
#ifdef HAVE_OCI8_DTRACE is being defined, seems like a bug with how HAVE_OCI8_DTRACE is being
defined.
------------------------------------------------------------------------
[2014-10-02 16:21:48] afaurtosh at ucmerced dot edu
I installed php on my RHEL6.5 using the following commands:
sudo yum --enablerepo=remi,remi-php56 install php-fpm
====================================================================================
Package Arch Version Repository Size
====================================================================================
Installing:
php-fpm x86_64 5.6.0-1.el6.remi.2 remi-php56 1.3 M
Installing for dependencies:
php-cli x86_64 5.6.0-1.el6.remi.2 remi-php56 3.7 M
php-common x86_64 5.6.0-1.el6.remi.2 remi-php56 1.0 M
php-pear noarch 1:1.9.5-3.el6.remi remi 375 k
php-pecl-jsonc x86_64 1.3.6-1.el6.remi.5.6.1 remi-php56 47 k
php-pecl-zip x86_64 1.12.4-2.el6.remi.5.6 remi-php56 269 k
php-process x86_64 5.6.0-1.el6.remi.2 remi-php56 56 k
php-xml x86_64 5.6.0-1.el6.remi.2 remi-php56 208 k
sudo yum --enablerepo=remi,remi-php56 install php-devel
=====================================================================================
Package Arch Version Repository Size
=====================================================================================
Installing:
php-devel x86_64 5.6.0-1.el6.remi.2 remi-php56 1.2 M
Installing for dependencies:
php-pecl-jsonc-devel x86_64 1.3.6-1.el6.remi.5.6.1 remi-php56 25 k
I also don't think I have any Systemtap / DTrace RPMs installed, I can post my rpm -qa command
if needed tho.
When I tried the command sudo ./configure --enable-dtrace
--with-oci8=shared,instantclient,/usr/lib/oracle/12.1/client64/lib/
I got the following warning at the end:
configure: WARNING: unrecognized options: --enable-dtrace
along with the same warning after I did a sudo make:
libtool: compile: cc -I. -I/local/users/appadmin/oci8-2.0.8 -DPHP_ATOM_INC
-I/local/users/appadmin/oci8-2.0.8/include -I/local/users/appadmin/oci8-2.0.8/main
-I/local/users/appadmin/oci8-2.0.8 -I/usr/include/php -I/usr/include/php/main
-I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext
-I/usr/include/php/ext/date/lib -I/usr/include/oracle/12.1/client64 -DHAVE_CONFIG_H -g -O2 -c
/local/users/appadmin/oci8-2.0.8/oci8.c -fPIC -DPIC -o .libs/oci8.o
In file included from /local/users/appadmin/oci8-2.0.8/oci8.c:46:
/local/users/appadmin/oci8-2.0.8/php_oci8_int.h:48:29: error: oci8_dtrace_gen.h: No such file or
directory
make: *** [oci8.lo] Error 1
------------------------------------------------------------------------
[2014-10-02 15:15:59] sixd@php.net
What 'configure' options was PHP built with? What Systemtap / DTrace RPMs are installed?
Have you tried ./configure --enable-dtrace --with-oci8=...?
Also see http://php.net/manual/en/oci8.dtrace.php
------------------------------------------------------------------------
[2014-10-01 17:20:06] afaurtosh at ucmerced dot edu
Updated the test script with installing the rpm
# go to the following website #
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
# Download the basic and SDK version #
Download oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
Download oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
sudo rpm -ivh oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
sudo rpm -ivh oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
sudo pear download pecl/oci8
sudo tar xvzf oci8-2.0.8.tgz
cd oci8-2.0.8/
sudo phpize
sudo ./configure --with-oci8=shared,instantclient,/usr/lib/oracle/12.1/client64/lib/
make
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=68124
--
Edit this bug report at https://bugs.php.net/bug.php?id=68124&edit=1