[freebsd] oracle_fdw
Denis
deniska64 at ya.ru
Wed Jul 11 11:00:00 EEST 2018
> 09.07.2018 9:48, Denis Bezkrovniy пишет:
> > Добрый день
> > на гитхаб есть проект https://github.com/laurenz/oracle_fdw
> > работает как расщирение в postgresql
> > Так вот. мне нужно прикрутить это расширение в postgresql. Для
> > работы нужен oralcle-instantclient
> > (databases/linux-oracle-instantclient) который я установил.
> > Собираю/устанавливаю oracle_fdw, все отрабатыает, но не работает.
> > В постгрес пробую установить oracle_fdw, в ответ получаю ошибку
> >
> > ОШИБКА: загрузить библиотеку
> > "/usr/local/lib/postgresql/oracle_fdw.so" не удалось: dlopen
> > (/usr/local/lib/postgresql/oracle_fdw.so)
> > failed: /usr/local/lib/postgresql/oracle_fdw.so: Undefined symbol
> > "OCICollGetElem"
> >
> > полагаю для работы нужен libclntsh.so (библиотека из состава
> > linux_oracle-instantclient), но как ее прикрутить не знаю.
>
> Подгрузить линуксовую библиотеку в фрёвый бинарник? Никак afaik.
> Подгрузить линуксовую библиотеку в линуксовый бинарник под
> линуксолятором можно - положить её внутрь линуксолятора и указывать
> путь относительно корня линуксолятора (/compat/linux или как там его).
>
>
Добрый день.
Как указать?
Собрал oracle_fdw под centos6, скопировал на машину c FreeBSD, положил
в /compat/linux/usr/lib, сделал символическую ссылку
cd /usr/local/lib/postgesql
ln -s /compat/linux/usr/lib/oracle_fdw.so oracle_fdw.so
перезапустил postgres.
в postgres пробую подключить раширение и получаю ошибку
ОШИБКА: загрузить библиотеку "/usr/local/lib/postgresql/oracle_fdw.so" не удалось: dlopen (/usr/local/lib/postgresql/oracle_fdw.so) failed: Shared object "libclntsh.so.12.1" not found, required by "oracle_fdw.so"
если чрутиться в /compat/linux и экспортнуть путь до библиотеки, то
ldd показывает слинкованные библиотеки.
Пробовал добавить
export/setenv
LD_LIBRARY_PATH="/compat/linux/usr/lib/oracle/client64/lib" в
/compat/linux/etc/csh.cshrc
/compat/linux/etc/csh.login
/compat/linux/etc/bashrc
даже в
/compat/linux/etc/ld.so.conf прописал путь до бибилиотеки
из chroot нивкакую не линкуется, и в postgres не подключает библиотеку
Если в freebsd в ~/.cshrc добавить строки
setenv ORACLE_HOME /usr/lib/oracle/12.2/client64
setenv LD_LIBRARY_PATH /usr/lib/oracle/12.2/client64/lib то
чрутясь библиотеки линкуются.
Как сделать подобное, чтобы подгружалась библиотека в postgresql?
--
С Уважением,
Безкровный Денис
More information about the freebsd
mailing list