Load libtdbcmysql1.0.0.so не работает

93
11

Я делаю load libtdbcmysql1.0.0.so в tcl script (linux), который дает ошибку:


не удалось загрузить файл "libmysql.so.15"



Я думал, что libmysql.so.15 может быть зависимой библиотекой для libtdbcmysql1.0.0.so, поэтому я проверил с помощью


ldd libtdbcmysql1.0.0.so

но эта команда выдала следующий результат:


linux-gate.so.1 =>  (0xffffe000)<br>
libc.so.6 => /lib/libc.so.6 (0xf7da1000)<br>
/lib/ld-linux.so.2 (0x003b4000)<br>

Как мы видим, он ничего не говорит о libmysql.so.15.


Кто-нибудь может объяснить, что здесь происходит? И как решить эту ошибку?

спросил(а) 2014-03-31T09:18:00+04:00 6 лет, 8 месяцев назад
1
Решение
59

Драйвер TDBC для MySQL только софт-ссылки на основную клиентскую библиотеку MySQL. Это позволяет драйверу строить на системах, где отсутствует клиентская библиотека (!), И обеспечивает возможность использования более сложного кода поиска клиентской библиотеки. (Подобная технология используется для поддержки других баз данных, таких как Oracle и PostgreSQL, плюс платформа взаимодействия ODBC. Построение всей этой партии в любой нормальной системе будет полной головной болью!)

Но это может пойти не так. У вас уже установлены клиентские библиотеки MySQL? Если да, то каково имя динамической библиотеки? Где он находится? Возможно, вы захотите записать отчет об ошибке, если все установлено в правильных местах, установлены соответствующие документированные переменные среды, и все же драйвер TDBC по-прежнему не находит его. (Возможно, вы сможете обойти это с пакетом драйверов tdbc::odbc, который, как я считаю, имеет более высокое качество, но я предупреждаю, что я его не пробовал.)

ответил(а) 2014-03-31T12:14:00+04:00 6 лет, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема