Установка Oracle InstantClient на Ubuntu 14.04
Я пытаюсь установить oracle instantclient, чтобы иметь возможность использовать расширение php5_oci8, но когда я пытаюсь преобразовать предоставленные файлы rpm в.deb с alien
По команде я получаю следующие ошибки:
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
Я нигде не нашел эту ошибку, кто-то может указать мне правильное направление?
2 ответа
Вероятно, это проблема Vagrant/Windows, с которой вы сталкиваетесь при попытке установить файлы RPM из папки уничтожения.
Скопируйте RPM в каталог /oracle (или любой другой), которого нет в ваших общих каталогах, и ошибка должна исчезнуть.
У меня была такая же проблема, пытаясь установить его, используя местоположение vmhost /mnt. Скопировал в папку внутри ВМ и смог успешно установить
Проблема в том, что в вашей системе не установлены пакеты, необходимые для oracle. Я бы порекомендовал использовать универсальный установщик oracle, который указывает на пакеты, необходимые при его установке.
обычно эту проблему легко решить, запустив пакет "oracle-rdbms-server-11gR2-preinstall", предлагаемый репозиторием "Oracle Public Yum". К сожалению, у нас нет такого хранилища для Ubuntu, и пакеты из других систем не работают хорошо.
если по какой-то причине вы не можете использовать OUI, то вы можете сделать это долго, установив с помощью apt-get каждый пакет в вашем журнале, который не может быть найден.