mariadb odbc выдает ошибку недопустимого указателя

У меня установлена ​​MariaDB (как часть установки Fedora) на Fedora 21. Также установлен ODBC. НО, когда я иду тестировать конфигурацию ODBC (или когда Asterisk пытается использовать ODBC), я получаю сообщение об ошибке в free():invalid pointer.

odbcinst.ini

 [MySQL]
 Description=ODBC for MySQL
 Driver=/usr/lib64/libmyodbc5.so
 Setup=/usr/lib64/libodbcmyS.so
 FileUsage=1
 UsageCount=2

odbc.ini

 [asterisk]
 Description=MySQL connection to 'asterisk' database
 Driver=MySQL
 Database=asteriskdb
 Server=localhost
 UserName=<theusername>
 Password=<thepassword>
 Port=3306
 Socket=/var/lib/mysql/mysql.sock

Подключение к базе данных с помощью mysql отлично работает с этими учетными данными. Но делать:

 echo "select 1"|isql -v asterisk theusername thepassword

приводит к этому:

*** Error in `isql': free(): invalid pointer: 0x00000000011c4e58 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7850e)[0x7fdd0ef7850e]
/lib64/libc.so.6(cfree+0x5b5)[0x7fdd0ef84165]
/usr/lib64/libmyodbc5.so(MySQLGetPrivateProfileStringW+0x132)[0x7fdd083381c2]
/usr/lib64/libmyodbc5.so(ds_lookup+0x5d)[0x7fdd08336c3d]
/usr/lib64/libmyodbc5.so(MySQLConnect+0xbe)[0x7fdd08316a1e]
/lib64/libodbc.so.2(SQLConnect+0x9e5)[0x7fdd0fb41745]
isql[0x402908]
/lib64/libc.so.6(__libc_start_main+0xf0)[0x7fdd0ef1ffe0]
isql[0x402c31]
======= Memory map: ========

Я могу предоставить остальную часть дампа ядра, если это кому-то поможет.

Любые предложения о том, что вызывает это и как это предотвратить? Мне нужно, чтобы ODBC работал.


person SchroedingersCat    schedule 24.01.2015    source источник


Ответы (1)


У меня была такая же проблема на моем F21 86_64.

Решение для меня состояло в том, чтобы установить более новую версию (вошел в систему как пользователь root):

1 удалить актуальную odbc-версию (5.2.2, насколько я помню)

yum remove mysql-connector-odbc

2 Поиск новейшей версии mysql-connector-odbc-5.3.4-1.x86_64.rpm) по адресу: http://dev.mysql.com/get/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.4-1.x86_64.rpm (нужна подписка)

yum localinstall --nogpgcheck mysql-connector-odbc-5.3.4-1.x86_64.rpm

3 создание символической ссылки, поскольку unixODBC по-прежнему указывает на /usr/lib64/libmyodbc5.so вместо /usr/lib64/libmyodbc5w.so

ln -s /usr/lib64/libmyodbc5w.so  /usr/lib64/libmyodbc5.so 

4 при необходимости не забудьте изменить (в ~/.odbc.ini)

.....
Driver64=/usr/lib64/libmyodbc5w.so 
....

Надеюсь, это поможет Роману

person romangraf.net    schedule 20.02.2015
comment
Это сработало! Идеальный! Я пришлю тебе бутылку того, что ты пьешь, если я скажу, что это такое и куда это отправить. Не могу передать, насколько это мне помогает! - person SchroedingersCat; 22.02.2015