Hello,

Oci still not finding all libs. ldd reports: 

libnnz11.so =>   (file not found)

crle:

Configuration file [version 4]: /var/ld/ld.config
  Default Library Path (ELF):   /usr/local/lib:/lib:/usr/lib
  Trusted Directories (ELF):    /lib/secure:/usr/lib/secure  (system default)

Command line:
  crle -c /var/ld/ld.config -l /usr/local/lib:/lib:/usr/lib

Location of libnnz:

/usr/local/lib/libnnz12.so
/opt/oracle/product/11.2.0/client/libnnz11.so

# file /usr/local/lib/libnnz12.so
/usr/local/lib/libnnz12.so:     ELF 64-bit LSB dynamic lib AMD64 Version 1 
[SSE2 SSE MMX CMOV], dynamically linked, not stripped

# file /opt/oracle/product/11.2.0/client/libnnz11.so
/opt/oracle/product/11.2.0/client/libnnz11.so:  ELF 64-bit LSB dynamic lib 
AMD64 Version 1 [SSE2 SSE CMOV], dynamically linked, not stripped

I have no clue why it is not picking up the lib dirs.

Kind regards,

Kas

Date: Tue, 13 Aug 2013 14:13:47 +0600
From: eug...@zhegan.in
To: kascoe...@hotmail.com
CC: php-install@lists.php.net
Subject: Re: [PHP-INSTALL] installing php 5.5.1 on to solaris 10 results in 
error during make


  
    
  
  
    On 13.08.2013 12:58, KAs Coenen wrote:

    
    
      
      Hey,

        

        Instant client is installed under
        (/opt/oracle/product/12.1.0/client). I tried to install oci8
        with pecl but I get an error:

        

        # /usr/local/php5/bin/pecl install oci8

        No releases for package "pecl/oci8" exist

        install failed

        

        Installing from source also failed but I did try to install
        2.0.0. I was able to compile it but ldd shows me some libs were
        not found:

        

        root@zone-eu4# ldd oci8.so

                libclntsh.so.12.1 =>    
        /opt/oracle/product/12.1.0/client/libclntsh.so.12.1

                libc.so.1 =>     /lib/libc.so.1

                libgcc_s.so.1 =>         /usr/sfw/lib/libgcc_s.so.1

                libnnz12.so =>   (file not found)

                libons.so =>     (file not found)

                libkstat.so.1 =>         /lib/libkstat.so.1

                libnsl.so.1 =>   /lib/libnsl.so.1

                libsocket.so.1 =>        /lib/libsocket.so.1

                libresolv.so.2 =>        /lib/libresolv.so.2

                libgen.so.1 =>   /lib/libgen.so.1

                libdl.so.1 =>    /lib/libdl.so.1

                libsched.so.1 =>         /usr/lib/libsched.so.1

                librt.so.1 =>    /lib/librt.so.1

                libaio.so.1 =>   /lib/libaio.so.1

                libpool.so.1 =>  /usr/lib/libpool.so.1

                libadm.so.1 =>   /lib/libadm.so.1

                libefi.so.1 =>   /lib/libefi.so.1

                libm.so.2 =>     /lib/libm.so.2

                libclntshcore.so.12.1 =>         (file not found)

                libmp.so.2 =>    /lib/libmp.so.2

                libmd.so.1 =>    /lib/libmd.so.1

                libscf.so.1 =>   /lib/libscf.so.1

                libxml2.so.2 =>  /usr/lib/libxml2.so.2

                libnvpair.so.1 =>        /lib/libnvpair.so.1

                libexacct.so.1 =>        /usr/lib/libexacct.so.1

                libuuid.so.1 =>  /lib/libuuid.so.1

                libdoor.so.1 =>  /lib/libdoor.so.1

                libuutil.so.1 =>         /lib/libuutil.so.1

                libpthread.so.1 =>       /lib/libpthread.so.1

                libz.so.1 =>     /usr/lib/libz.so.1

      
    
    These libraries are usually located on $ORACLE_HOME/lib.

    
      

        Although libnnz12 is found in oracle instant client path:

        

        root@zone-eu4# find / -name libnnz12.so

        /usr/local/lib/libnnz12.so

        /opt/oracle/product/12.1.0/client/libnnz12.so

        

        Its the same for libclntshcore.so.12.1. When restarting apache I
        get this error (which is normal I guess):

        

        [12-Aug-2013 09:50:09 UTC] PHP Warning:  PHP Startup: Unable to
        load dynamic library
        '/usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/oci8.so'
        - ld.so.1: php: fatal: libnnz12.so: open failed: No such file or
        directory in Unknown on line 0

      
    
    Well... you can add the directory where libnnz12.so is located to
    the crle -64 library path, then rerun. A more easy way to check is
    actually running 'php -m'. Although I should say that on my servers
    $ORACLE_HOME/lib isn't added to system linker's path, and oci8 is
    working just fine.

    

    From what I see I can also recommend you to try to build oci8 1.4.x
    against oracle client 11g, because 12 is just out and there can be a
    lots of difficulties with it. At least I use the 11g and oci8 1.4.x.
    From what I know - oracle software is always backward-compatible, I
    mean you can connect with older clients to a modern server (some
    features will be probably unavailable, but the main functionality
    will remain).

    

    Eugene.
                                          

Reply via email to