Ошибка загрузки общих библиотек libclntsh.so.11.1 не может открыть

Ошибка при загрузке общих библиотек: libclntsh.so.11.1: невозможно открыть
общий файл obj такого файла нет. При запуске из crontab.

Я собрал свою программу на c ++, ее программу proc, после компиляции proc, я буду запускать следующую команду.

g++ filename.CPP -I $ORACLE_HOME/precomp/public -L $ORACLE_HOME/lib -lclntsh -o test

Я создал crontab, чтобы запускать его каждую минуту

$ crontab -l
* * * * * /home/test > /home/te.txt 2>&1

Я сделал символическую ссылку этой библиотеки. Но я получаю выше ошибки внутри te.txt

Я искал это в течение прошлых 2 дней и также прошел подобный вопрос, но все еще я не был в состоянии очистить ошибку.

Я не уверен с LD_Library_path или же .bash_profile, как включить эту библиотеку.

0

Решение

Вы можете экспортировать путь к библиотеке в вашем .bash_profile как

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

или вы можете скопировать ваш libclntsh.so в / usr / lib / или / lib

4

Другие решения

Если вы работаете в Linux (используя GNU Binutils), вы можете также скомпилировать путь библиотеки непосредственно в двоичный файл. Смотрите -Wl, -rpath = …

Но в любом случае (если вы не используете Oracle Instant Client Lib), вы также должны экспортировать ENACLE_HOME env. вар в хронтаб. В противном случае ваше приложение не сможет локализовать файлы .nls или .ora (tnsnames.ora).

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector