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: 2006-01-06 12:49 UTC
From: flconseil at yahoo dot fr Assigned: tony2001
Status: Closed Package: PDO related
PHP Version: 5.1.1 OS: HP-UX
Private report: No CVE-ID:
 [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

Add a Patch

Pull Requests

Add a Pull Request

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.


 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Mon Apr 21 10:02:10 2014 UTC