php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #44989 64bit Oracle RPMs still not supported by pdo-oci
Submitted: 2008-05-13 23:50 UTC Modified: 2016-03-08 01:32 UTC
Votes:3
Avg. Score:4.0 ± 0.8
Reproduced:3 of 3 (100.0%)
Same Version:1 (33.3%)
Same OS:2 (66.7%)
From: stevec at engr dot oregonstate dot edu Assigned: sixd (profile)
Status: Closed Package: PDO OCI
PHP Version: 5.2.6 OS: Linux
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: stevec at engr dot oregonstate dot edu
New email:
PHP Version: OS:

 

 [2008-05-13 23:50 UTC] stevec at engr dot oregonstate dot edu
Description:
------------
Bug #41941 addressed 64bit support for the --with-oci8 configure option, but not the --with-pdo-oci option.  It still can't find the include files.  

Reproduce code:
---------------
Using the Oracle provided 64bit InstantClient RPMs (currently using 11.1.0.1-1):

./configure --with-pdo-oci=instantclient,/usr/include,11.1.0 ...

Produces:

checking Oracle OCI support for PDO... yes
checking Oracle Install-Dir... instantclient,/usr/include,11.1.0
checking if that is sane... yes
checking for oci.h... configure: error: I'm too dumb to figure out where the include dir is in your Instant Client install


Expected result:
----------------
Should pass that part and find the client64 libraries.

I've tried all sorts of paths (/usr to /usr/include/oracle/11.1.0.1/client64) with no luck.


Patches

pdo_oci-64bit-5.3 (last revision 2010-08-16 21:11 UTC by jbnance at tresgeek dot net)
pdo_oci-64bit (last revision 2010-08-03 23:15 UTC by jbnance at tresgeek dot net)

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-07-22 08:03 UTC] noel dot rambaud at free dot fr
Create a link client-> client64 in directory /usr/include/oracle/version_instantclientoracle

idem in /usr/lib/oracle/version_instantclientoracle
 [2009-04-25 15:06 UTC] jani@php.net
Please try using this CVS snapshot:

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

  http://windows.php.net/snapshots/


 [2009-04-27 15:55 UTC] stevec at eng dot orst dot edu
I'm still seeing the same problem with the latest CVS snapshot (php5.2-200904271430).  What it comes down to is the code is only looking for 'client' directories.  The Oracle RPMs put everything in 'client64' directories.

/usr/include/oracle/11.1.0.1/client64
/usr/lib/oracle/11.1.0.1/client64

As the previous poster mentioned, if you link the client directory in both of those directories to client64, then the compile works fine.  That seems a bit of a kludge though.
 [2009-05-03 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 [2010-08-04 01:03 UTC] jbnance at tresgeek dot net
Patch attached for config.m4.

Notes for end users, in order to use this you have to rebuild configure 
(buildconf --force after applying the patch).

After applying and rebuilding, the following should work:

./configure --with-pdo-oci=instantclient,/usr,10.2.0.4
or
./configure --with-pdo-oci=shared,instantclient,/usr,10.2.0.4

Note that this is different from the non-PDO OCI configure option:

--with-oci8=instantclient,/usr/lib/oracle/10.2.0.4/client64/lib
or
--with-oci8=shared,instantclient,/usr/lib/oracle/10.2.0.4/client64/lib

(the version is a parameter in the PDO OCI option).
 [2010-08-16 23:12 UTC] jbnance at tresgeek dot net
Bug still exists in 5.3.3.  Patch uploaded.
 [2010-08-17 02:32 UTC] pajoye@php.net
-Status: No Feedback +Status: Assigned
 [2011-03-29 20:40 UTC] felipe@php.net
Automatic comment from SVN on behalf of felipe
Revision: http://svn.php.net/viewvc/?view=revision&revision=309818
Log: - Fixed bug #44989 (64bit Oracle RPMs still not supported by pdo-oci)
  patch by: jbnance at tresgeek dot net
 [2011-03-29 20:41 UTC] felipe@php.net
-Status: Assigned +Status: Closed
 [2011-03-29 20:41 UTC] felipe@php.net
This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.

Thanks for the patch!
 [2011-03-30 19:35 UTC] sixd@php.net
With Oracle Instant Client 11.2 RPMs use:
./configure --with-pdo-oci=instantclient,/usr,11.2
or
./configure --with-pdo-oci=shared,instantclient,/usr,11.2

i.e. only use two components of the version number.
 [2011-09-14 05:32 UTC] patrickallaert@php.net
The committed patch introduced a regression for those who have a path like:
    /usr/lib64/oracle/10.2.0.3/client/include
on x86_64 boxes.

The path tried are:
/usr/include/oracle/10.2.0.3/client64/oci.h
/usr/lib/oracle/10.2.0.3/client64/include/oci.h
/usr/sdk/include/oci.h
/usr/client64/include/oci.h

Because /usr/lib/ is a symlink to /usr/lib64/ on those boxes, it previously 
worked by using "client" rather than "client64".
Now it fails with:
configure: error: I'm too dumb to figure out where the include dir is in your 
Instant Client install
 [2011-09-14 13:29 UTC] jbnance at tresgeek dot net
What distribution has /usr/lib sym linked to /usr/lib64?

The patch works fine on RHEL 5 32-bit (and 64-bit) with Oracle 10 and 11.2 RPMs 
(from Oracle).
 [2011-09-16 09:52 UTC] olemarkus at gentoo dot org
At least Gentoo has /usr/lib symlinked to /usr/lib64
 [2011-09-16 15:52 UTC] jbnance at tresgeek dot net
Errr... That goes against the FHS.  Red Hat / CentOS, Fedora, SuSE / OpenSUSE, and 
Ubuntu / Debian (as well as all the derivates I know of) all have separate lib and 
lib64 directories.
 [2011-09-16 16:04 UTC] olemarkus at gentoo dot org
How is that against FHS? IIRC it is even mentioned specifically in one of FHS' footnotes.

Gentoo can be multilib, thus it has both /usr/lib32 and /usr/lib64, and /usr/lib as a symlink to /usr/lib64. Redhat and whatnot are probably not mutlilib, so they do not have this link (nor do all profiles on Gentoo).
 [2011-09-16 16:30 UTC] jbnance at tresgeek dot net
Ah, yes, my mistake.  I forgot that although it defines lib<qual> rules, it 
doesn't specify whether you use lib32 or lib64.

So what I should have said is that practically every other distribution uses lib 
for 32-bit libraries and lib64 for 64-bit libraries.  On 64-bit systems using 
those distros, /lib & /usr/lib still contains the 32-bit versions of the libraries 
you have installed (you can install the 64-bit without the 32-bit and vice versa).

So, whatever modifications are done to the patch will need to take that into 
account.
 [2011-09-16 17:58 UTC] jbnance at tresgeek dot net
Here's a better explanation of the lib64 stuff:

http://www.pathname.com/fhs/pub/fhs-2.3.html#LIB64
 [2011-09-16 18:13 UTC] sixd@php.net
Since this bug is closed and the discussion is getting platform specific, I 
suggest you open a new bug, attach the description, include which Instant Client 
bundle is being installed, and attach a verified patch.
 [2016-03-08 01:32 UTC] sixd@php.net
-Package: PDO related +Package: PDO OCI
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 13:01:29 2024 UTC