Summary: | mod_php-4.3.6_rc2 fails install with oci8 support | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Ricardo Nuno <me> |
Component: | New packages | Assignee: | PHP Bugs <php-bugs> |
Status: | RESOLVED INVALID | ||
Severity: | major | CC: | rizzo |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Ricardo Nuno
2004-04-22 05:10:51 UTC
go and use revdep-rebuild if it still fails, consult the config.log and see why your libraries aren't in order. Ok, so I did revdep-rebuild, and got this: Checking dynamic linking consistency... ldd: warning: you do not have execution permission for `/usr/lib/oracle/10.1.0.2/client/lib/libocci.so.10.1' broken /usr/lib/oracle/10.1.0.2/client/lib/libocci.so.10.1 (requires libstdc++-libc6.2-2.so.3) done. So I chmod +x /usr/lib/oracle/10.1.0.2/client/lib/libocci.so.10.1 (maybe it should be reported as an ebuild bug ?) That correct the first error but I'm still getting: Checking dynamic linking consistency... broken /usr/lib/oracle/10.1.0.2/client/lib/libocci.so.10.1 (requires libstdc++-libc6.2-2.so.3) tryed to re-emerge mod_php, but it still fails with the same error. I guess i need to fix this lib error first, right ? consult your config.log anyway that might not be the broken library. I certainly have /usr/lib/libstdc++-libc6.2-2.so.3 on my machine. what about you? 'ls /usr/lib/libstdc*' is there a client for oracle in portage that I'm not aware of ? Well i dont have it: ls: /usr/lib/libstdc*: No such file or directory And i think this is the only ebuild: Calculating dependencies ...done! [ebuild RF ] dev-db/oracle-instantclient-basic-10.1.0.2 0 kB below is what i found on the 'config.log': [snip] configure:57617: checking for Oracle-OCI8 support configure:57662: checking Oracle Install-Dir configure:57957: checking Oracle version configure:58954: checking for OCILobIsTemporary in -lclntsh configure:58973: gcc -o conftest -march=pentium3 -O3 -pipe -fomit-frame-pointer -Wl,-rpath,/usr/lib/oracle/10.1.0.2/client/l$ /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lclntsh collect2: ld returned 1 exit status configure: failed program was: #line 58962 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char OCILobIsTemporary(); int main() { OCILobIsTemporary() ; return 0; } configure:59086: checking for OCILobIsTemporary in -locijdbc8 configure:59105: gcc -o conftest -march=pentium3 -O3 -pipe -fomit-frame-pointer -Wl,-rpath,/usr/lib/oracle/10.1.0.2/client/l$ /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/../../../../i686-pc-linux-gnu/bin/ld: cannot find -locijdbc8 collect2: ld returned 1 exit status configure: failed program was: #line 59094 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char OCILobIsTemporary(); int main() { OCILobIsTemporary() ; return 0; } [snip] configure:60964: checking for Oracle-ORACLE support configure:65985: checking whether to enable user-space object overloading support configure:66248: checking for Ovrimos SQL Server support configure:66695: checking whether to enable pcntl support configure:66743: checking for fork configure:66771: gcc -o conftest -march=pentium3 -O3 -pipe -fomit-frame-pointer -L/usr/lib -ldb-4.0 -ltiff -L/usr/lib -Wl,-$ /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lclntsh collect2: ld returned 1 exit status configure: failed program was: #line 66748 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char fork(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char fork(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_fork) || defined (__stub___fork) choke me #else fork(); #endif ; return 0; } from what I know libclntsh is part of oracle, so go and find why it isn't working. rizzo: the oracle packages you added a month ago, did you check mod_php with them ? You need a full Oracle client to compile PHP with oci8: http://forums.oracle.com/forums/thread.jsp?forum=190&thread=241737&message=&tstart=0&trange=15696212 (also it's easier to test you have everything by compiling Perl's DBD::Oracle first than the whole of PHP) When you do get PHP with oci8 installed N.B. the Gentoo specific apache bug: http://bugs.gentoo.org/show_bug.cgi?id=32364 Chris thanks for that response chris. i've tested the ebuilds with the full oracle client now and they work fine. |