| Summary: | dev-lang/php 5.3.8 configure: error: I'm too dumb to figure out where the include dir is in your Instant Client install | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Eugene Nikolaev <eugene.nikolaev> |
| Component: | New packages | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | CC: | zero667 |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | AMD64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
build.log
config.log emerge --info emerge -pqv environment |
||
|
Description
Eugene Nikolaev
2011-08-29 06:57:42 UTC
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 |