Список форумов Asterisk Forum Asterisk Forum
The Asterisk Open Source PBX - Russian Community
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ПравилаПравила   ГруппыГруппы   ИзбранноеИзбранное    LinksСсылки   РегистрацияРегистрация 
 RSSRSS   ПрофильПрофиль   Войти и проверить личные сообщения   ВходВход 

Asterisk 1.6.2.20 + res_odbc vs unixODBC-2.3.0

 
Список форумов Asterisk Forum -> Unix Way    вывод темы на печать
Предыдущая тема :: Следующая тема  
Автор Сообщение
soloma



Зарегистрирован:
08.01.2008
Сообщения: 138
Откуда: Киев, Украина.

Статус: Оффлайн 

СообщениеДобавлено: Пн Окт 10, 2011 15:51    Заголовок сообщения: Asterisk 1.6.2.20 + res_odbc vs unixODBC-2.3.0

Господа, прошу помощи в сборке *.
Стоит система CentOS release 5.7 (Final)
uname -a
Linux odbctest 2.6.18-274.3.1.el5 #1 SMP Tue Sep 6 20:13:52 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

unixODBC-2.3.0 собирал из исходников, поскольку необходим коннект с ораклом, а версии оракл клиента для 64битного линукса поддерживаются odbc версии 2.2.12 и выше.

ODBC работает нормально. Но при компиляции Астериска лезут ошибки.
При конфигурации подсовываю путь к скомпиленому ODBC
./configure --with-unixodbc='/usr/local/unixODBC-2.3.0'

Все параметры вроде прописаны
Код:
configure:45920: checking for mandatory modules:  UNIXODBC
on odbctest
ac_cv_lib_iodbc_SQLConnect=no
ac_cv_lib_odbc_SQLConnect=yes
GENERIC_ODBC_INCLUDE='-I/usr/local/unixODBC-2.3.0/include '
GENERIC_ODBC_LIB='-L/usr/local/unixODBC-2.3.0/lib -lodbc '
IODBC_DIR=''
IODBC_INCLUDE=''
IODBC_LIB=''
PBX_GENERIC_ODBC='1'
PBX_IODBC='0'
PBX_UNIXODBC='1'
UNIXODBC_DIR='/usr/local/unixODBC-2.3.0'
UNIXODBC_INCLUDE='-I/usr/local/unixODBC-2.3.0/include '
UNIXODBC_LIB='-L/usr/local/unixODBC-2.3.0/lib -lodbc '
#define HAVE_UNIXODBC 1


но при компиляции cdr_odbc вылазит следующее

Код:
   [CC] cdr_odbc.c -> cdr_odbc.o
In file included from cdr_odbc.c:45:
/usr/src/asterisk/asterisk-1.6.2.20/include/asterisk/res_odbc.h:30:17: error: sql.h: No such file or directory
/usr/src/asterisk/asterisk-1.6.2.20/include/asterisk/res_odbc.h:31:20: error: sqlext.h: No such file or directory
/usr/src/asterisk/asterisk-1.6.2.20/include/asterisk/res_odbc.h:32:22: error: sqltypes.h: No such file or directory
In file included from cdr_odbc.c:45:
/usr/src/asterisk/asterisk-1.6.2.20/include/asterisk/res_odbc.h:47: error: expected specifier-qualifier-list before ‘SQLHDBC’
/usr/src/asterisk/asterisk-1.6.2.20/include/asterisk/res_odbc.h:64: error: expected specifier-qualifier-list before ‘SQLSMALLINT’
/usr/src/asterisk/asterisk-1.6.2.20/include/asterisk/res_odbc.h:100: error: expected declaration specifiers or ‘...’ before ‘SQLHSTMT’
/usr/src/asterisk/asterisk-1.6.2.20/include/asterisk/res_odbc.h:168: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_odbc_direct_execute’
/usr/src/asterisk/asterisk-1.6.2.20/include/asterisk/res_odbc.h:178: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_odbc_prepare_and_execute’
/usr/src/asterisk/asterisk-1.6.2.20/include/asterisk/res_odbc.h:222: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_odbc_ast_str_SQLGetData’
cdr_odbc.c:61: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘execute_cb’
cdr_odbc.c: In function ‘odbc_log’:
cdr_odbc.c:129: error: ‘SQLHSTMT’ undeclared (first use in this function)
cdr_odbc.c:129: error: (Each undeclared identifier is reported only once
cdr_odbc.c:129: error: for each function it appears in.)
cdr_odbc.c:129: error: expected ‘;’ before ‘stmt’
cdr_odbc.c:136: error: ‘stmt’ undeclared (first use in this function)
cdr_odbc.c:136: warning: implicit declaration of function ‘ast_odbc_direct_execute’
cdr_odbc.c:136: error: ‘execute_cb’ undeclared (first use in this function)
cdr_odbc.c:138: error: ‘SQLLEN’ undeclared (first use in this function)
cdr_odbc.c:138: error: expected ‘;’ before ‘rows’
cdr_odbc.c:140: warning: implicit declaration of function ‘SQLRowCount’
cdr_odbc.c:140: error: ‘rows’ undeclared (first use in this function)
cdr_odbc.c:141: warning: implicit declaration of function ‘SQLFreeHandle’
cdr_odbc.c:141: error: ‘SQL_HANDLE_STMT’ undeclared (first use in this function)
make[1]: *** [cdr_odbc.o] Error 1
make: *** [cdr] Error 2


Проверил наличие файлов
Код:
ls -l /usr/src/odbc/unixODBC-2.3.0/include/sql*
-rw-r--r-- 1 1000 1000 82674 Dec 11  2009 /usr/src/odbc/unixODBC-2.3.0/include/sqlext.h
-rw-r--r-- 1 1000 1000 32261 Dec 11  2009 /usr/src/odbc/unixODBC-2.3.0/include/sql.h
-rw-r--r-- 1 1000 1000 11141 Dec 11  2009 /usr/src/odbc/unixODBC-2.3.0/include/sqltypes.h
-rw-r--r-- 1 1000 1000 21666 Dec 11  2009 /usr/src/odbc/unixODBC-2.3.0/include/sqlucode.h

_________________
e=mc^2
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
anest
Модератор


Зарегистрирован:
28.11.2004
Сообщения: 5636

Статус: Оффлайн 

СообщениеДобавлено: Пн Окт 10, 2011 16:08    Заголовок сообщения:

переходи на Ubuntu Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
soloma



Зарегистрирован:
08.01.2008
Сообщения: 138
Откуда: Киев, Украина.

Статус: Оффлайн 

СообщениеДобавлено: Пн Окт 10, 2011 16:36    Заголовок сообщения:

Очень может так произойти) Сейчас решаю проблему в лоб, жестко прописав пути к файлам в res_odbc.h, если не сработает - буду подбирать другой дистрибутив.
ОФФТОП: как на убунте/дебиане с виртуализацией?

_________________
e=mc^2
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
soloma



Зарегистрирован:
08.01.2008
Сообщения: 138
Откуда: Киев, Украина.

Статус: Оффлайн 

СообщениеДобавлено: Чт Окт 13, 2011 09:00    Заголовок сообщения:

Решил проблему жестко прописав пути к файла в

asterisk-1.6.2.20/include/asterisk/res_odbc.h
asterisk-1.6.2.20/cdr/cdr_adaptive_odbc.c


Код:
/*!
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
*/
#include "/usr/local/unixODBC-2.3.0/include/sql.h"
#include "/usr/local/unixODBC-2.3.0/include/sqlext.h"
#include "/usr/local/unixODBC-2.3.0/include/sqltypes.h"

_________________
e=mc^2
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ddkprog



Зарегистрирован:
03.07.2009
Сообщения: 81

Статус: Оффлайн 

СообщениеДобавлено: Чт Окт 13, 2011 11:02    Заголовок сообщения:

да вы просто гений!
у вас все посылки торчат в /usr/local/unixODBC-2.3.0
при этом сами хидеры у вас в /usr/src
и вы удивляетесь почему не компилится
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
soloma



Зарегистрирован:
08.01.2008
Сообщения: 138
Откуда: Киев, Украина.

Статус: Оффлайн 

СообщениеДобавлено: Чт Окт 13, 2011 11:13    Заголовок сообщения:

я не особо силен в Линуксе, но думаю, что указав путь к unixODBC
./configure --with-unixodbc='/usr/local/unixODBC-2.3.0'
все должно было нормально скомпилится. от вас я нормального решения не вижу, кроме глума.

_________________
e=mc^2
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ddkprog



Зарегистрирован:
03.07.2009
Сообщения: 81

Статус: Оффлайн 

СообщениеДобавлено: Чт Окт 13, 2011 11:52    Заголовок сообщения:

ну так подкачайте знания по линуксу, как вы вообще бех этих знаний управляете астериском? удивляюсь

базовые вещи как собрать софт из исходников раньше в книгах учили
а то вы с приходом aptget/yum и прочих автоматов, совсем разучились это делать
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
soloma



Зарегистрирован:
08.01.2008
Сообщения: 138
Откуда: Киев, Украина.

Статус: Оффлайн 

СообщениеДобавлено: Чт Окт 13, 2011 12:07    Заголовок сообщения:

При компиляции указан путь к хедерам
UNIXODBC_INCLUDE='-I/usr/local/unixODBC-2.3.0/include '

Если я где-то ошибаюсь подправьте.

_________________
e=mc^2
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
soloma



Зарегистрирован:
08.01.2008
Сообщения: 138
Откуда: Киев, Украина.

Статус: Оффлайн 

СообщениеДобавлено: Пт Окт 14, 2011 17:47    Заголовок сообщения:

нормально компиляция проходит, если собирать unixODBC с параметрами
./configure --bindir=/usr/bin --sysconfdir=/etc --libdir=/usr/lib --includedir=/usr/include

_________________
e=mc^2
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Список форумов Asterisk Forum -> Unix Way Ответить на тему
Страница 1 из 1

Добавить в Избранное

 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
You cannot attach files in this forum
You cannot download files in this forum