Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 48674 - mod_php-4.3.6_rc2 fails install with oci8 support
Summary: mod_php-4.3.6_rc2 fails install with oci8 support
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-04-22 05:10 UTC by Ricardo Nuno
Modified: 2004-08-07 13:30 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ricardo Nuno 2004-04-22 05:10:51 UTC
I emerged the dev-db/oracle-instantclient-basic package so that i could have
oci8 on mod_php, but now re-emerging mod_php gives me:

pcntl: fork() not supported by this platform

before i tryed oci8 support it compiled without problems, i saw some posts on the forum to try with USE="-java -qt" no go here, it seams it stucks on oci8.

Reproducible: Always
Steps to Reproduce:
1.echo $ORACLE_HOME
/usr/lib/oracle/10.1.0.2/client
2.USE="flash gd imap ldap mcal mysql pdflib xml2 oci8" emerge mod_php


Actual Results:  
checking for Oracle-OCI8 support... yes
checking Oracle Install-Dir... /usr/lib/oracle/10.1.0.2/client
checking Oracle version... 10.1
checking for OCILobIsTemporary in -lclntsh... no
checking for OCILobIsTemporary in -locijdbc8... no
checking for Adabas support... no
checking for SAP DB support... no
checking for Solid support... no
checking for IBM DB2 support... no
checking for Empress support... no
checking for Empress local access support... no
checking for Birdstep support... no
checking for a custom ODBC support... no
checking for iODBC support... no
checking for Easysoft ODBC-ODBC Bridge support... no
checking for unixODBC support... no
checking for DBMaker support... no
checking for Oracle-ORACLE support... no
checking whether to enable user-space object overloading support... yes
checking for Ovrimos SQL Server support... no
checking whether to enable pcntl support... yes
checking for fork... no
configure: error: pcntl: fork() not supported by this platform

!!! ERROR: dev-php/mod_php-4.3.6_rc2 failed.
!!! Function econf, Line 365, Exitcode 1
!!! econf failed

Expected Results:  
it should compile mod_php with OCI8 support.

Portage 2.0.50-r6 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9, 2.4.20-wolk4.9s)
=================================================================
System uname: 2.4.20-wolk4.9s i686 Intel(R) Pentium(R) III CPU family      1266MHz
Gentoo Base System version 1.4.3.10
Autoconf: sys-devel/autoconf-2.58-r1
Automake: sys-devel/automake-1.7.7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="apache2 berkdb crypt ncurses nls pam perl python ssl tcpd x86 xml"
Comment 1 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-04-23 18:40:03 UTC
go and use revdep-rebuild
if it still fails, consult the config.log and see why your libraries aren't in order.
Comment 2 Ricardo Nuno 2004-04-27 18:57:51 UTC
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 ?
Comment 3 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-04-27 19:50:15 UTC
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 ?
Comment 4 Ricardo Nuno 2004-04-27 20:48:16 UTC
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; }
Comment 5 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-04-27 20:54:00 UTC
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 ?
Comment 6 Chris Mayo 2004-05-14 06:52:36 UTC
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
Comment 7 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-08-07 13:30:07 UTC
thanks for that response chris.
i've tested the ebuilds with the full oracle client now and they work fine.