Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^2: /app/chart/oracle/product/19c/sdk/include/oci.h:745:20: fatal error: ociver.h: No such file or directory

by silversurfer2in (Initiate)
on Oct 05, 2021 at 10:28 UTC ( [id://11137231]=note: print w/replies, xml ) Need Help??


in reply to Re: /app/chart/oracle/product/19c/sdk/include/oci.h:745:20: fatal error: ociver.h: No such file or directory
in thread /app/chart/oracle/product/19c/sdk/include/oci.h:745:20: fatal error: ociver.h: No such file or directory

Hello Marto,

Thanks for for your valuable input. It seems my installation wasn't correct so I downloaded instantclient-sdk-linux.x64-21.3.0.0.0.zip from Oracle and copied the ociver.h file at the location and post which the installation completed successfully.

But now I am facing another error as per below

install_driver(Oracle) failed: Can't locate loadable object for module DBD::Oracle in @INC (@INC contains: /app/chart/perl5 /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at (eval 28) line 3. Compilation failed in require at (eval 28) line 3. Perhaps a module that DBD::Oracle requires hasn't been fully installed at /app/chart/perl5/StagingDBI.pm line 98. @(in cleanup) Can't call method "disconnect" on an undefined value at /app/chart/perl5/StagingDBI.pm line 265.

Can you please help me with this as completely new to perl so apologies for asking multiple questions

Thanks

Replies are listed 'Best First'.
Re^3: /app/chart/oracle/product/19c/sdk/include/oci.h:745:20: fatal error: ociver.h: No such file or directory
by marto (Cardinal) on Oct 05, 2021 at 10:37 UTC

    DBD::Oracle is not installed correctly. Unless you really know what you're doing don't copy single files from the SDK, follow the guidance, install the basic instant client, then the SDK, sqlplus also helps to debug connectivity problems. You haven't shown what your environment variables are set to (e.g. ORACLE_HOME), this is also in the note. The more detail you provide about your environment and what you've done the easier it'll be for others to help. How do I post a question effectively?.

      Hello Marto,

      Apologies for missing to share the details

      The error got resolved as the last command make install required root to complete the installation which I was not having. On acquiring the root privilege the error has gone

      TERM=vt100; export TERM # Set base Oracle environment. ORAENV_ASK=YES; export ORAENV_ASK ORACLE_SID=CLIENT19G; export ORACLE_SID ORACLE_BASE=/app/chart/oracle; export ORACLE_BAS +E ORACLE_HOME=${ORACLE_BASE}/product/19c; export ORACLE_HOME TNS_ADMIN=${ORACLE_BASE}/admin/network; export TNS_ADMIN ORAINST=/tmp/oraInst.loc; export ORAINST # NLS Settings ORA_NLS33=${ORACLE_HOME}/ocommon/nls/admin/data; export ORA_NLS33 ORA_NLS10=${ORACLE_HOME}/nls/data; export ORA_NLS10 #NLS_LANG=american_america.WE8ISO8859P15; export NLS_LANG NLS_DATE_FORMAT='DD-MON-YYYY:HH24-MI-SS'; export NLS_DATE_FORMAT TNS_ALIAS=STG ; export TNS_ALI +AS PATH=$PATH:${ORACLE_HOME}/bin:${ORACLE_HOME}/OPatch:/usr/local/bin:/us +r/sbin:/usr/ccs/bin:/usr/contrib/bin:/usr/openwin/bin; export PATH LD_LIBRARY_PATH=${ORACLE_HOME}/lib ; export LD_LIBRARY_PATH PS1='${USER}@`hostname`:[${ORACLE_SID}]:`pwd` $ '; export PS1 #export PS1=$LOGNAME PS2="`hostname`: $ "; export PS2 EDITOR=vi; export EDITOR umask 022 alias ping=/usr/sbin/ping stty erase ^?

      Post successful I am getting below version mismatch error

      install_driver(Oracle) failed: DBD::Oracle object version 1.80 does not match bootstrap parameter 1.24 at /usr/lib64/perl5/DynaLoader.pm line 213. Compilation failed in require at (eval 28) line 3. at /app/chart/perl5/StagingDBI.pm line 98. @(in cleanup) Can't call method "disconnect" on an undefined value at /app/chart/perl5/StagingDBI.pm line 265.

      What should I do now?

      Thanks
        DBD::Oracle object version 1.80 does not match bootstrap parameter 1. +24

        This means that Perl finds a Oracle.so for DBD::Oracle 1.80, but the Oracle.pm it loads is version 1.24.

        This problem usually comes from different module search paths in PERL5LIB and/or using a different version of Perl between installing the module and then running your test program.

        Where did you install the SDK? Your ORACLE_HOME seems to point at the Oracle 19c database installation, there's no mention of the instant client path. Your install is still not correct, hence the first message is the same. The second message message about tells you that Oracle.pm (of the DBD::Oracle install you made) relates to v1.24, where as the Oracle shared object file you have is for version 1.60. Perhaps confusion from trying to install different versions of the module. Stick to the latest release unless you have good reason not to. Since you don't show how, I'm guessing you're doing a perl Makefile.PL, you should get more details from perl Makefile.PL -v.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11137231]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2024-03-29 11:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found