2013-04-03 3 views
0

install_driver (ODBC) не удалось:Сбой загрузить приложение из-за драйвера ODBC

Не удается загрузить «/usr/local/lib/perl5/auto/DBD/ODBC/ODBC.so» для модуля DBD :: ODBC: libodbc.so.1: невозможно открыть файл общих объектов: нет такого файла или каталог на /usr/lib/perl5/DynaLoader.pm line 200. at (eval 3) строка 3 Не удалось выполнить компиляцию в (Eval 3) линия 3. Возможно, требуется совместно используемая библиотека или DLL не установлена, где ожидаются на M_BLACKLIST.pl линии 14

У меня есть последний unixodbc dbi drvier. В основном я использую centos 6.

+0

Вы уверены, что установили пакет диспетчера драйверов unixODBC? Вы сами создали DBD :: ODBC или вы установили его через пакет? – bohica

+0

Я установил DBD :: ODBC через пакет – user1363308

+1

И вы установили пакеты unixodbc, на которые опирается DBD :: ODBC. Я не использую Centos, поэтому я не уверен, какой менеджер пакетов он использует. Ошибка, которую вы получаете, говорит, что DBD :: ODBC зависит от общего объекта-менеджера диспетчера драйверов unixodbc и не найден в вашем пути динамического компоновщика. Вам нужно libodbc.so (из пакета unixodbc). Сделайте ldd /usr/local/lib/perl5/auto/DBD/ODBC/ODBC.so, и вы увидите, какие общие объекты ему нужны и что не найдено. – bohica

ответ

0

Просто имейте в виду, что последняя сборка unixODBC создаст libodbc.so.2, число было увеличено после изменения SQLLEN на api год назад, возможно, не проблема, но стоит проверить, что у вас на самом деле есть libodbc.so.

+0

В настоящее время я, используя следующий libodbc.so: /usr/lib/libodbc.so /usr/lib/libodbc.so.2 /usr/lib/libodbc.so.2.0.0 /USR/местные/lib/libodbc.so /usr/local/lib/libodbc.so.1 /usr/local/lib/libodbc.so.1.0.0 /usr/src/asterisk/unixODBC-2.2.12/DriverManager/. libs/libodbc.so /usr/src/asterisk/unixODBC-2.2.12/DriverManager/.libs/libodbc.so.1 /usr/src/asterisk/unixODBC-2.2 .12/DriverManager/.libs/libodbc.so.1.0.0 , пожалуйста, предложите мне, как я могу решить проблему – user1363308

+1

Я бы предположил, что/usr/local/lib не находится на пути поиска динамического компоновщика, как файл ODBC.so требуется libodbc.so.1, и у вас это есть в/usr/local/lib. Попробуйте выполнить экспорт LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/usr/local/lib, а затем запустите свой Perl. – bohica

Смежные вопросы