On update php 5.3.6 to 5.3.8 (emerge -avD --update dev-lang/php): checking for MySQL support for PDO... yes checking for mysql_config... /usr/bin/mysql_config checking for mysql_query in -lmysqlclient_r... yes checking for mysql_commit... yes checking for mysql_stmt_prepare... yes checking for mysql_next_result... yes checking for mysql_sqlstate... yes checking for PDO includes... (cached) /var/tmp/portage/dev-lang/php-5.3.8/work/sapis-build/cli/ext checking Oracle OCI support for PDO... yes checking Oracle Install-Dir... instantclient,/usr,10.2.0.3 checking if that is sane... yes checking size of long int... (cached) 8 checking for oci.h... configure: error: I'm too dumb to figure out where the include dir is in your Instant Client install The same error - https://bugs.gentoo.org/show_bug.cgi?id=380581 Reproducible: Always Steps to Reproduce: 1. eix-sync 2. emerge -avD --update dev-lang/php Actual Results: checking for oci.h... configure: error: I'm too dumb to figure out where the include dir is in your Instant Client install Expected Results: checking for oci.h... yes
Created attachment 284963 [details] build.log
Created attachment 284965 [details] config.log
Created attachment 284967 [details] emerge --info
Created attachment 284969 [details] emerge -pqv
Created attachment 284971 [details] environment
Looking at the difference between the macros, it seems upstream has broken it. Check were oci.h - the path should have either 'client' or 'client64' compontent. Which one of those two is it ?
(In reply to comment #6) > Looking at the difference between the macros, it seems upstream has broken it. > > Check were oci.h - the path should have either 'client' or 'client64' > compontent. Which one of those two is it ? # find / -name oci.h -type f -ls: /usr/lib64/oracle/10.2.0.3/client/include/oci.h PS: environment vars: # cat /etc/env.d/50oracle-instantclient-basic: ORACLE_HOME=/usr/lib64/oracle/10.2.0.3/client LDPATH=/usr/lib64/oracle/10.2.0.3/client/lib C_INCLUDE_PATH=/usr/lib64/oracle/10.2.0.3/client/include TNS_ADMIN=/etc/oracle/ NLS_LANG=russian_cis.al32utf8
PS2: Oracle instant client dist files all x86_64: instantclient-basic-linux-x86-64-10.2.0.3-20070103.zip instantclient-sdk-linux-x86-64-10.2.0.3-20070103.zip instantclient-sqlplus-linux-x86-64-10.2.0.3-20070103.zip
/var/tmp/portage/dev-lang/php-5.3.8/work/sapis-build/cli/ext/pdo_oci/config.m4: # --- start cut AC_CHECK_SIZEOF(long int, 4) if test "$ac_cv_sizeof_long_int" = "4" ; then PDO_OCI_CLIENT_DIR="client" else PDO_OCI_CLIENT_DIR="client64" fi # --- end cut It's not enough! In my case $PDO_OCI_CLIENT_DIR must be set to "client", not to "client64", although system arch and client are x86_64. So as a temporary solution I create symlinks: ln -s /usr/lib64/oracle/10.2.0.3/client/include /usr/include/oracle/10.2.0.3/client64 ln -s /usr/lib/oracle/10.2.0.3/client/ /usr/lib/oracle/10.2.0.3/client64 Where /usr/lib is a symlink to /usr/lib64. After that, the build succeeds. To create a patch I do not have enough knowledge in which case creates a "client", and in any case "client64" directories. Does anyone know?
*** This bug has been marked as a duplicate of bug 380581 ***
Got the same error on my x86 machine, i think. Instant client version is 11.2.0.2 instead of 10.2.0.3. Tried adding symlinks for lib64 and client64 as suggested above, but it didn't work (as expected). Have the libs now in: /usr/lib/oracle/11.2.0.2/client/include/ /usr/lib/oracle/11.2.0.2/client64/include/ /usr/include/oracle/11.2.0.2/client/ /usr/include/oracle/11.2.0.2/client64/ and a symlink from /usr/lib to /usr/lib64. Do you need any more input?
With arch x86 and instantclient 11.2.0.2 I got the same proble after looking inside ext/pdo_oci/config.m4 I found that PDO_OCI_IC_PREFIX is set to /user instead of /usr/lib/oracle/11.2.0.2 it is set thanks to : PDO_OCI_IC_PREFIX="`echo $PDO_OCI_DIR | cut -d, -f2`" and $PDO_OCI_DIR is set to instantclient,/usr,11.2.0.2 as ./configure is launch with --with-pdo-oci=instantclient,/usr,11.2.0.2 so it won't work in a patch for ext/pdo_oci/config.m4 where I have hard coded PDO_OCI_IC_PREFIX='/usr/lib/oracle/11.2.0.2' (line 82) it works
See for patch and adding: https://bugs.gentoo.org/show_bug.cgi?id=380581#c7