[Pdns-users] Oracle/goracle - bug or my lack of knowledge?

Leo Vandewoestijne pdns at unicycle.net
Mon Sep 8 10:00:20 UTC 2014


Hi,

In june I was trying to install powerdns with a goracle backend.
The manual gave some help to get somewhere, but not enough to succeed.
Whatever I tried, I'd always ended with the same problem.

Below are 3 diverse examples, that all end the same way:

 - Oracle Linux / Oracle 12c
 - Debian / instantclient 12
 - Ubuntu / Oracle XE

I've learnt setting ORACLE_HOME is important, so that's set in all examples.


##########################################################################################
## Oracle Linux Enterpice / Oracle 12c preinstalled ######################################
##########################################################################################

yum install boost
yum install boost-headers
yum install boost-devel.x86_64
yum install readline
yum install gcc-c++.x86_64

# su - oracle # no difference
# export LD_LIBRARY_PATH=$ORACLE_HOME/lib # no difference

wget http://downloads.powerdns.com/releases/pdns-3.3.1.tar.gz
tar -zxvf pdns-3.3.1.tar.gz 
cd pdns-3.3.1
./configure --without-lua --with-modules=goracle --enable-cryptopp

checking for sha1_hmac in -lpolarssl... no
checking whether we will try to link in system PolarSSL... no
checking whether we will be linking in Botan 1.10... no
checking whether we will be linking in Botan 1.8... no
checking whether we will be linking in Crypto++... no
checking whether to enable http connector in remotebackend... no
checking whether we should build static binaries... 
checking whether we will be building the server... yes
checking whether we will be building and installing the extra tools... no
checking oci.h usability... yes
checking oci.h presence... yes
checking for oci.h... yes
checking for OCIEnvInit in -lclntsh... no
checking for OCIEnvInit in -lclient9... no
configure: error: Could not find client libraries

# however... I found them:

/u01/app/oracle/product/12.1.0/dbhome_1/lib/libclntsh.so
/u01/app/oracle/product/12.1.0/dbhome_1/lib/libclntsh.so.10.1
/u01/app/oracle/product/12.1.0/dbhome_1/lib/libclntsh.so.11.1
/u01/app/oracle/product/12.1.0/dbhome_1/lib/libclntsh.so.12.1
/u01/app/oracle/product/12.1.0/dbhome_1/lib/libclntshcore.so
/u01/app/oracle/product/12.1.0/dbhome_1/lib/libclntshcore.so.12.1
/usr/lib/oracle/12.1/client64/lib/libclntsh.so
/usr/lib/oracle/12.1/client64/lib/libclntsh.so.12.1
/usr/lib/oracle/12.1/client64/lib/libclntshcore.so
/usr/lib/oracle/12.1/client64/lib/libclntshcore.so.12.1

##########################################################################################
## Debian / most recent instantclient ####################################################
##########################################################################################

apt-get update
apt-get upgrade
apt-get dist-upgrade

reboot

apt-get install make
apt-get install gcc
apt-get install libboost-thread-dev
apt-get install libboost-program-options-dev
apt-get install libbotan1.10
apt-get install libpolarssl-dev

apt-get install alien
fakeroot alien oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64.rpm
fakeroot alien oracle-instantclient12.1-devel-12.1.0.1.0-1.x86_64.rpm
apt-get install libaio1
dpkg -i oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64.deb
dpkg -i oracle-instantclient12.1-devel-12.1.0.1.0-1.x86_64.deb

vi ~/.profile
	export ORACLE_HOME=/usr/lib/oracle/12.1/client64
	export PATH=$PATH:$ORACLE_HOME/bin
	export LD_LIBRARY_PATH=$ORACLE_HOME/lib

wget http://downloads.powerdns.com/releases/pdns-3.3.1.tar.gz
tar -zxvf pdns-3.3.1.tar.gz 
cd pdns-3.3.1
./configure --without-lua --with-modules=goracle --enable-cryptopp

checking for sha1_hmac in -lpolarssl... no
checking whether we will try to link in system PolarSSL... no
checking whether we will be linking in Botan 1.10... no
checking whether we will be linking in Botan 1.8... no
checking whether we will be linking in Crypto++... no
checking whether to enable http connector in remotebackend... no
checking whether we should build static binaries... 
checking whether we will be building the server... yes
checking whether we will be building and installing the extra tools... no
checking oci.h usability... yes
checking oci.h presence... yes
checking for oci.h... yes
checking for OCIEnvInit in -lclntsh... no
checking for OCIEnvInit in -lclient9... no
configure: error: Could not find client libraries

# however... I found them:

root at ubuntu:~/pdns-3.3.1# find / | grep libclntsh.so
/usr/lib/oracle/12.1/client64/lib/libclntsh.so
/usr/lib/oracle/12.1/client64/lib/libclntsh.so.12.1

##########################################################################################
## Ubuntu / last Oracle XE ###############################################################
##########################################################################################

apt-get update
apt-get upgrade
apt-get dist-upgrade
reboot
apt-get install make
apt-get install gcc
apt-get install libboost-thread-dev
apt-get install libboost-program-options-dev
apt-get install libbotan1.10		# wont be found by pdns?
apt-get install libpolarssl-dev		# wont be found by pdns?

# echo "deb http://oss.oracle.com/debian unstable main non-free" > /etc/apt/sources.list.d/oracle.list
# apt-get update
# apt-get install oracle-xe 
#   fails because of PGP?
#   this works:
wget http://oss.oracle.com/debian/dists/unstable/non-free/binary-i386/oracle-xe_10.2.0.1-1.1_i386.deb
dpkg -i oracle-xe_10.2.0.1-1.1_i386.deb

vi ~/.profile
	export ORACLE_SID=XE
	export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
	export PATH=$PATH:$ORACLE_HOME/bin
	export LD_LIBRARY_PATH=$ORACLE_HOME/lib

source ~/.profile

wget http://downloads.powerdns.com/releases/pdns-3.3.1.tar.gz
tar -zxvf pdns-3.3.1.tar.gz 
cd pdns-3.3.1
./configure --without-lua --with-modules=goracle --enable-cryptopp


checking for crypt in -lcrypt... yes
checking whether we will be doing verbose logging... no
checking for sha1_hmac in -lpolarssl... no
checking whether we will try to link in system PolarSSL... no
checking whether we will be linking in Botan 1.10... no
checking whether we will be linking in Botan 1.8... no
checking whether we will be linking in Crypto++... yes
checking whether to enable http connector in remotebackend... no
checking whether we should build static binaries... 
checking whether we will be building the server... yes
checking whether we will be building and installing the extra tools... no
checking oci.h usability... yes
checking oci.h presence... yes
checking for oci.h... yes
checking for OCIEnvInit in -lclntsh... no
checking for OCIEnvInit in -lclient12... no
configure: error: Could not find client libraries

# however... I found them:

/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libclntsh.so
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libldapjclnt10.so
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libclntsh.so.10.1
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/instantclient_11_2/libclntsh.so.11.1

##########################################################################################


Since the error is everywhere identical, I wonder if it's me or powerdns.
But more important: can anyone tell or hint me how to get over this obstacle?

I've tried countless combinations of

  --with-oracle-includes=<path>
                          instantclient sdk include dir
  --with-oracle-libs=<path>
                          instantclient oracle library dir

But (as you guessed) none did help me out (yet).

-- 

Met vriendelijke groet,
With kind regards,


Leo Vandewoestijne

--

Sent from my Google Glass




More information about the Pdns-users mailing list