[2006年10月30日 19:36 UTC] andrew dot nagy at villanova dot edu
Description: ------------ I installed the instantclient library and when I try to run configure I get the following error: checking for oci.h... configure: error: I'm too dumb to figure out where the include dir is in your instant client install This is a bad error message, although quite humorous. Reproduce code: --------------- Here is my configure settings: --with-oci8=instantclient,/usr/lib/oracle/10.1.0.3/client/lib --with-pdo-oci=instantclient,/usr/lib/oracle,10.1.0.3 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
I just did an install of php 5.2.4 on a brand new RHEL server. The only way I could get this to work is by using the zip files provided by Oracle, not the RPMs. Both the Basic and SDK are need (well I am assuming the Basic is needed). Once I unzip the files, I needed to create 2 symbolic links -- both libclntsh.so and libocci.so. Could this be fixed in the configure script to look for the original files instead of the renamed files? For now - I have created a patch that makes the language a bit more intuitive if this helps at all. It is diff'ed against the 5.2.4 release. 1305,1306c1305,1306 < Use --with-pdo-oci=instantclient,/path/to/instantclient,version < for an Oracle Instant Client SDK install. --- > Use --with-pdo-oci=instantclient,prefix,version > for an Oracle Instant Client SDK. 73096c73096 < { echo "configure: error: I'm too dumb to figure out where the include dir is in your Instant Client install" 1>&2; exit 1; } --- > { echo "configure: error: Cannot find the Instant Client SDK in your Instant Client install" 1>&2; exit 1; } 73105c73105 < { echo "configure: error: I'm too dumb to figure out where the libraries are in your Instant Client install" 1>&2; exit 1; } --- > { echo "configure: error: Cannot find the libclntsh.so file. Try making a symbolic link in your Instant Client SDK install" 1>&2; exit 1; }I will assume that "assigned" means open since this bug doesn't seem fixed yet. I tried to install instantclient 10.2.0.4 with php-5.2.9 on RHEL5. Tried it with the RPMs, didn't work, so I followed the instructions that other people suggested here on the php.net instantclient page. I installed the client in /usr/lib/oracle/10.2.0.4/client/ and the sdk in /usr/lib/oracle/10.2.0.4/client/sdk/include/ I tried to configure with the switches: --with-oci8=shared,instantclient,/usr/lib/oracle/10.2.0.4/client --with-pdo-oci=instantclient,/usr/lib/oracle,10.2.0.4 without success, getting the error I'm too dumb to figure out where the libraries are in your Instant Client install. After checking it out with strace, it seems that it tries to find the files(headers and libs in the wrong directories). Also a import of ld.so.conf with the libs dir did not help apparently. So here is what I saw: stat64("/usr/lib/oracle/include/oracle/10.2.0.4/client/oci.h", 0xbf7f53b8) = -1 ENOENT (No such file or directory) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 stat64("/usr/lib/oracle/lib/oracle/10.2.0.4/client/include/oci.h", 0xbf7f52e8) = -1 ENOENT (No such file or directory) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 stat64("/usr/lib/oracle/sdk/include/oci.h", 0xbf7f5218) = -1 ENOENT (No such file or directory) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 stat64("/usr/lib/oracle/client/include/oci.h", 0xbf7f5148) = -1 ENOENT (No such file or directory) fixed temporary with ln -s /usr/lib/oracle/10.2.0.4/client/sdk/ /usr/lib/oracle/sdk and stat64("/usr/lib/oracle/lib/oracle/10.2.0.4/client/lib/libclntsh.so", 0xbfa5a858) = -1 ENOENT (No such file or directory) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 stat64("/usr/lib/oracle/client/lib/libclntsh.so", 0xbfa5a788) = -1 ENOENT (No such file or directory) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 stat64("/usr/lib/oracle/libclntsh.so", 0xbfa5a6b8) = -1 ENOENT (No such file or directory) fixed temporary with ln -s /usr/lib/oracle/10.2.0.4/client/ /usr/lib/oracle/client ln -s /usr/lib/oracle/10.2.0.4/client/ /usr/lib/oracle/10.2.0.4/client/lib which is somewhat ghetto. I would like to hear if you have a smoother way to do that. If this bug is not considered open, can someone please email me if you have another workaround if this comment gets deleted?