web-dev-qa-db-ja.com

Oracle InstantClientをubuntu 14.04にインストールする

Php5_oci8拡張機能を使用できるようにOracle InstantClientをインストールしようとしていますが、alienコマンドを使用してrpm提供ファイルを.debに変換しようとすると、次のエラーが発生します。

vagrant@sherwood:/vagrant/src/packages/Oracle-instantclient$ Sudo alien -i Oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
Package build failed. Here's the log:
dh_testdir
dh_testdir
dh_testroot
dh_prep
dh_installdirs
dh_installdocs
dh_installchangelogs
find . -maxdepth 1 -mindepth 1 -not -name debian -print0 | \
                xargs -0 -r -i cp -a {} debian/Oracle-instantclient12.1-basic
dh_compress
dh_makeshlibs
dh_installdeb
dh_shlibdeps
dpkg-shlibdeps: error: couldn't find library libclntsh.so.12.1 needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libociei.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libclntshcore.so.12.1 needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libociei.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libclntsh.so.12.1 needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libocijdbc12.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libclntshcore.so.12.1 needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libocijdbc12.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: warning: couldn't find library libmql1.so needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libocijdbc12.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: warning: couldn't find library libipc1.so needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libocijdbc12.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: warning: couldn't find library libnnz12.so needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libocijdbc12.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libclntsh.so.12.1 needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/bin/genezi (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libclntshcore.so.12.1 needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/bin/genezi (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: warning: debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libocci.so.12.1 contains an unresolvable reference to symbol slnxsub: it's probably a plugin
dpkg-shlibdeps: warning: 262 other similar warnings have been skipped (use -v to see them all)
dpkg-shlibdeps: warning: couldn't find library libipc1.so needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libmql1.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: warning: couldn't find library libmql1.so needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libclntsh.so.12.1 (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: warning: couldn't find library libipc1.so needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libclntsh.so.12.1 (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: warning: couldn't find library libnnz12.so needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libclntsh.so.12.1 (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: warning: couldn't find library libons.so needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libclntsh.so.12.1 (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libclntshcore.so.12.1 needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libclntsh.so.12.1 (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libclntshcore.so.12.1 needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libnnz12.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libclntsh.so.12.1 needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/bin/adrci (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libclntshcore.so.12.1 needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/bin/adrci (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: warning: couldn't find library libmql1.so needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/bin/adrci (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: warning: couldn't find library libipc1.so needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/bin/adrci (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: warning: couldn't find library libnnz12.so needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/bin/adrci (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libclntsh.so.12.1 needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/liboramysql12.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libclntshcore.so.12.1 needed by debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/liboramysql12.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libociei.so debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libocijdbc12.so debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/bin/genezi debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libclntshcore.so.12.1 debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libclntsh.so.12.1 debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/bin/adrci debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/liboramysql12.so were not linked against libnsl.so.1 (they use none of the library's symbols)
dpkg-shlibdeps: error: cannot continue due to the errors listed above
Note: libraries are not searched in other binary packages that do not have any shlibs or symbols file.
To help dpkg-shlibdeps find private libraries, you might need to use -l.
dh_shlibdeps: dpkg-shlibdeps -Tdebian/Oracle-instantclient12.1-basic.substvars debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/bin/adrci debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/bin/genezi debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libclntsh.so.12.1 debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libclntshcore.so.12.1 debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libipc1.so debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libmql1.so debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libnnz12.so debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libocci.so.12.1 debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libociei.so debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libocijdbc12.so debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/libons.so debian/Oracle-instantclient12.1-basic/usr/lib/Oracle/12.1/client64/lib/liboramysql12.so returned exit code 2
make: [binary-Arch] Error 2 (ignored)
dh_gencontrol
dpkg-gencontrol: warning: Depends field of package Oracle-instantclient12.1-basic: unknown substitution variable ${shlibs:Depends}
dh_md5sums
dh_builddeb
dpkg-deb: error: control directory has bad permissions 777 (must be >=0755 and <=0775)
dh_builddeb: dpkg-deb --build debian/Oracle-instantclient12.1-basic .. returned exit code 2
make: *** [binary-Arch] Error 1

私はこのエラーをどこにも見つけませんでした、誰かが私を正しい方向に向けることができますか?

5
kitensei

これはおそらくVagrant/Windowsの問題であり、シュレッドフォルダーからRPMファイルをインストールしようとすると発生します。

RPMを共有ディレクトリにない/ Oracle(またはその他の)ディレクトリにコピーすると、エラーは消えます。

5
Mike

問題は、システムにOracleに必要なパッケージがインストールされていないことです。 Oracle Universal Installerを使用することをお勧めしますが、インストールするときに必要なパッケージを指定します。

通常、この問題は、「Oracle Public Yum」リポジトリが提供する「Oracle-rdbms-server-11gR2-preinstall」パッケージを実行することで簡単に修正できます。残念なことに、Ubuntu用のそのようなリポジトリはなく、他のシステムのパッケージはうまく機能しません。

何らかの理由でOUIを使用できない場合、ログ内の見つからないすべてのパッケージをapt-getでインストールすることにより、OUIを長く使用できます。

0

同じ問題があり、vmhost/mntの場所を使用してインストールしようとしました。 VM内のフォルダーにコピーされ、正常にインストールできました

0
user966366