Search code examples
linuxoracle-databasepostgresqlperlredhat

DBD-Oracle-1.76 installation issue


I am setting up a new server for POSTGRESQL, so we have to migrate from ORACLE to POSTGRES while installing DBD-Oracle-1.76 package. However, we are getting error even though we have exported ORACLE_BASE, ORACLE_HOME, LD_LIBRARY, LD_LIBRARY_PATH.

Here is what I have tried:

make

rm -f blib/arch/auto/DBD/Oracle/Oracle.so
gcc  -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Wl,-z,relro  Oracle.o dbdimp.o oci8.o  -o blib/arch/auto/DBD/Oracle/Oracle.so     \
   -L/optware/oracle/12.2.0.1/client_1/lib -lclntsh -ldl -lm -lpthread -lnsl -lirc -limf -lirc -lrt -laio -lresolv -lsvml       \

Here is the error:

/bin/ld: cannot find -laio collect2: error: ld returned 1 exit status make: *** [blib/arch/auto/DBD/Oracle/Oracle.so] Error 1

Any ideas? Any help would be greatly appreciated!


Solution

  • If you're on Redhat/Fedora/RHEL/CentOS then try this before make:

    sudo yum install libaio-devel
    

    If Ubuntu (or Debian?) try:

    sudo apt install libaio-dev
    

    ...or sudo apt-get install libaio libaio1 libaio-dev

    I also needed:

    export ORACLE_HOME=/wherever/oracle18-instantclient/instantclient_18_5
    export LD_LIBRARY_PATH="$ORACLE_HOME:/usr/lib/x86_64-linux-gnu/"
    

    Error while installing DBD::Oracle might be helpful.