php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #7318 libgen.so problems
Submitted: 2000-10-18 15:46 UTC Modified: 2001-02-20 07:36 UTC
From: frank dot feingold at cnh dot com Assigned:
Status: Closed Package: Installation problem
PHP Version: 4.0.3 OS: Solaris 2.6
Private report: No CVE-ID: None
 [2000-10-18 15:46 UTC] frank dot feingold at cnh dot com
I'm having problems configuring PHP for use with oracle (with either --with-oracle or --with-oci8).  Oracle (it appears) is requiring libgen.so.  libgen.so is not included with Solaris 2.6.  We copied libgen.so from a 2.7 machine (this kluge may be causing the problem).  I ran nm agains it and it looked fine.
When I run configure, here is what I get in debug.log:

CONFIGURE:   './configure' '--prefix=/lopt/php4' '--with-oracle=/lopt/oraphp'
CC:         gcc
CFLAGS:     -g -O2
CPPFLAGS:    -D_POSIX_PTHREAD_SEMANTICS
CXX:        
CXXFLAGS:   
INCLUDES:      -I$(top_builddir)/Zend -I$(top_srcdir) -I/net/home/dp578/php-4.0.3/ext/mysql/libmysql -I/lopt/oraphp/network/public -I/lopt/oraphp/plsql/public
LDFLAGS:     -R/usr/ucblib -L/usr/ucblib -R/lopt/oraphp/lib -L/lopt/oraphp/lib
LIBS:       -lclntsh -ldl -lgen -lsocket -lnsl -lresolv -lresolv -lm -ldl -lcrypt -lnsl -lsocket  -lsocket
DLIBS:      
SAPI:       cgi
PHP_RPATHS:  /usr/ucblib /lopt/oraphp/lib
uname -a:   SunOS uxracem1 5.6 Generic_105181-16 sun4u sparc SUNW,Ultra-Enterprise

gcc -o conftest -g -O2  -D_POSIX_PTHREAD_SEMANTICS  -R/usr/ucblib -L/usr/ucblib -R/lopt/oraphp/lib -L/lopt/oraphp/lib conftest.c -lclntsh -ldl -lgen -lsocket -lnsl -lresolv -lresolv -lm -ldl -lcrypt -lnsl -lsocket  -lsocket 1>&5
Undefined                       first referenced
 symbol                             in file
_delete                             /usr/lib/libgen.so.1
_insert                             /usr/lib/libgen.so.1
ld: fatal: Symbol referencing errors. No output written to conftest

gcc is v 2.8.1

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-11-21 06:16 UTC] sniper@php.net
What do you expect? Of course it causes trouble. :)
Please try without the libgen and submit info what
is the problem when not using it.

Also info about which version of Oracle you are trying
to compile with is needed.

--Jani

 [2000-11-21 22:20 UTC] joey@php.net
If you want to *see* it causing trouble, just try:
ldd libgen.so
 [2000-11-27 14:25 UTC] frank dot feingold at cnh dot com
Joey,

I did the ldd and it came out exactly as I expected:

myhost:/usr/lib$  ldd libgen.so
        libc.so.1 =>     /usr/lib/libc.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1

What am I missing?
 [2000-11-28 06:30 UTC] sniper@php.net
I'm still waiting for the info about the error you
got when you didn't have libgen.so copied from 
newer OS. And what version of Oracle you're trying
to configure PHP with.

--Jani
 [2000-11-28 14:58 UTC] frank dot feingold at cnh dot com
Here is the output from debug.log w/o libgen

CONFIGURE:   './configure' '--prefix=/lopt/php4' '--enable-force-cgi-redirect' '--with-oci8=/lopt/oraphp' '--with-m
ysql=no'
CC:         gcc
CFLAGS:     -g -O2
CPPFLAGS:    -D_POSIX_PTHREAD_SEMANTICS
CXX:        
CXXFLAGS:   
INCLUDES:      -I$(top_builddir)/Zend -I$(top_srcdir) -I/lopt/oraphp/network/public -I/lopt/oraphp/plsql/public
LDFLAGS:     -R/usr/ucblib -L/usr/ucblib -R/lopt/oraphp/lib -L/lopt/oraphp/lib
LIBS:       -lclntsh -ldl -lgen -lsocket -lnsl -lresolv -lresolv -lm -ldl -lcrypt -lnsl -lsocket  -lsocket
DLIBS:      
SAPI:       cgi
PHP_RPATHS:  /usr/ucblib /lopt/oraphp/lib
uname -a:   SunOS uxracem1 5.6 Generic_105181-16 sun4u sparc SUNW,Ultra-Enterprise

gcc -o conftest -g -O2  -D_POSIX_PTHREAD_SEMANTICS  -R/usr/ucblib -L/usr/ucblib -R/lopt/oraphp/lib -L/lopt/oraphp/l
ib conftest.c -lclntsh -ldl -lgen -lsocket -lnsl -lresolv -lresolv -lm -ldl -lcrypt -lnsl -lsocket  -lsocket 1>&5
ld: warning: file libgen.so.1: required by /lopt/oraphp/lib/libclntsh.so, not found
ld.so.1: ./conftest: fatal: libgen.so.1: open failed: No such file or directory

Here is a "ldd" of libclntsh.so, which is the library that needs libgen

ldd libclntsh.so
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libgen.so.1 =>   (file not found)
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libaio.so.1 =>   /usr/lib/libaio.so.1
        libm.so.1 =>     /usr/lib/libm.so.1
        libm.so.1 (SUNW_1.1) =>  (version not found)
        libc.so.1 =>     /usr/lib/libc.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2

I believe this is 8.0.6.

Let me know if you need any more info
 [2000-11-29 01:35 UTC] joey@php.net
#1: I spoke too soon. In many cases, when you move
a binary from Solaris 2.6 to Soalris 7, you can see
that it will not work by running ldd. libgen.so seems
to actually be ok here. (NOTE: This is still not a very
good idea, but you *might* get it to work.)

#2: Where did you put libgen.so? ld cannot find it. Try
putting it in /usr/lib.

#3: Even if you get libgen.so to detect, there is something
odd with libm.so. I would be really surprised if you ever got this to work reliably. You'd be better off running an Oracle that was built for Solaris 2.6
 [2001-02-20 07:36 UTC] sniper@php.net
No feedback, considered fixed.

--Jani

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 25 12:01:31 2024 UTC