php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #35907 Unlike OCI8, PDO-OCI always uses $ORACLE_HOME/lib
Submitted: 2006-01-05 17:33 UTC Modified: 2016-03-08 01:37 UTC
From: flconseil at yahoo dot fr Assigned: tony2001 (profile)
Status: Closed Package: PDO OCI
PHP Version: 5.1.1 OS: HP-UX
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: flconseil at yahoo dot fr
New email:
PHP Version: OS:

 

 [2006-01-05 17:33 UTC] flconseil at yahoo dot fr
Description:
------------
Compiling PHP 5.1.1 with Oracle 9.2.0 on HP-UX using pdo-oci.

$ORACLE_HOME/lib contains 64 bit libraries, and $ORACLE_HOME/lib32 contains 32 bit libraries.

During configure, OCI8 determines it the right way and generates '-L$ORACLE_HOME/lib32', but PDO-OCI does not have this logic and always looks into $ORACLE_HOME/lib. And, as it finds a 'libclntsh.sl.9.0' file there, it takes this one, which is wrong in such a 32bit environment.

Note: If you use oci8, and if pdo-oci is shared, it will work, as the oci8 additions in Makefile will mask the ones from pdo-oci.

Reproduce code:
---------------
./configure --with-pdo-oci=$ORACLE_HOME



Expected result:
----------------
the logic pdo-oci should follow to find oracle librairies is already in oci8, in AC_OCI8_CHECK_LIB_DIR.

Actual result:
--------------
At link time, I get this error:

/usr/ccs/bin/ld: /logi/ora920/lib/libclntsh.sl: Mismatched ABI. 64-bit PA shared library found in 32-bit link.
collect2: ld returned 1 exit status
*** Error exit code 1


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-01-06 00:18 UTC] tony2001@php.net
Please try this patch:
http://tony2001.phpclub.net/dev/tmp/pdo_oci_64.diff

After applying the patch, run `./cvsclean && ./buildconf --force && ./config.nice && make`.
 [2006-01-06 10:57 UTC] flconseil at yahoo dot fr
After applying your patch, it works fine. Now, the Makefile contains :

PDO_OCI_SHARED_LIBADD = -L/logi/ora920/lib32 -L/logi/ora920/lib32 -lclntsh

Many thanks for your help.
 [2006-01-06 12:49 UTC] tony2001@php.net
This bug has been fixed in CVS.

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.


 [2016-03-08 01:36 UTC] sixd@php.net
-Package: PDO related +Package: PDO OCI
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Thu Jan 02 12:01:29 2025 UTC