Forum Webscript.Ru

Программирование => Perl => Тема начата: NeiroN от 28 Октября 2008, 12:05:00

Название: Установка DBD:Sybase
Отправлено: NeiroN от 28 Октября 2008, 12:05:00
Всем доброго времени суток!
Мучаюсь уже второй день с установкой модуля DBD:Sybase

ОС Fedora Core 9
This is perl, v5.10.0 built for i386-linux-thread-multi

через yum поставились почти все нужные модули, кроме данного.

при попытке ставить через cpan выдает ошибку с поиском библиотек, так же ее выдает при установке из исходника

Please set SYBASE in CONFIG, or set the $SYBASE environment variable at Makefile.PL line 103, line 44.

Мои попытки: ставил freetds пакетом, потом с исходников.
Установил пакет sybase-ase и sybase-common, пытался указывать разные дириктори с либами типа
export SYBASE=/opt/sybase-11.9.2/lib/
так же матерится что нет там ничего.


наконец нашел пакеты perl-DBD-Sybase для RedHat 9, поставил, но перл так и невидит модуля Sybase

install_driver(Sybase) failed: Can\'t locate DBD/Sybase.pm in @INC (@INC contains: /usr/lib/perl5/5.10.0/i386-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl .) at (eval 8) line 3.


ВЫручайте кто сможет! уже сил ет с ним боротся
Название: Установка DBD:Sybase
Отправлено: arto от 28 Октября 2008, 14:07:07
SYBASE=/usr perl Makefile.PL && make all
Название: Установка DBD:Sybase
Отправлено: NeiroN от 28 Октября 2008, 14:12:02
начинает собиратся нормально а потом:

dbdimp.c: В функции \'syb_init\':
dbdimp.c:800: ошибка: \'BLK_VERSION_150\' не описан (первое использование в этой функции)
dbdimp.c:800: ошибка: (Сообщение о неописанном идентификаторе выдается один раз
dbdimp.c:800: ошибка: для каждой функции, в которой он используется.)
dbdimp.c:804: ошибка: \'BLK_VERSION_125\' не описан (первое использование в этой функции)
dbdimp.c:808: ошибка: \'BLK_VERSION_120\' не описан (первое использование в этой функции)
dbdimp.c:746: предупреждение: неиспользуемая переменная \'set\'
dbdimp.c:744: предупреждение: неиспользуемая переменная \'boolean\'
dbdimp.c: В функции \'get_server_version\':
dbdimp.c:1625: предупреждение: неиспользуемая переменная \'db\'
Название: Установка DBD:Sybase
Отправлено: arto от 28 Октября 2008, 14:16:48
у вас нативные библиотеки или freetds?
с freetds у меня собралось и работает
Название: Установка DBD:Sybase
Отправлено: NeiroN от 28 Октября 2008, 15:06:25
RE: freetds



попробовал заново пересобрать модуль, в итоге добился его установки,
но всеже нормально работать он отказывается:

perl: symbol lookup error: /usr/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi/auto/DBD/Sybase/Sybase.so: undefined symbol: Perl_Tstack_sp_ptr
Название: Установка DBD:Sybase
Отправлено: arto от 28 Октября 2008, 20:10:57
у меня работает.

# perl -MDBD::Sybase -le \'print $DBD::Sybase::VERSION\'
1.09
#
Название: Установка DBD:Sybase
Отправлено: IRONSAMSON от 19 Ноября 2009, 14:17:00
NeiroN
начинает собиратся нормально а потом:

dbdimp.c: В функции \'syb_init\':
dbdimp.c:800: ошибка: \'BLK_VERSION_150\' не описан (первое использование в этой функции)
dbdimp.c:800: ошибка: (Сообщение о неописанном идентификаторе выдается один раз
dbdimp.c:800: ошибка: для каждой функции, в которой он используется.)
dbdimp.c:804: ошибка: \'BLK_VERSION_125\' не описан (первое использование в этой функции)
dbdimp.c:808: ошибка: \'BLK_VERSION_120\' не описан (первое использование в этой функции)
dbdimp.c:746: предупреждение: неиспользуемая переменная \'set\'
dbdimp.c:744: предупреждение: неиспользуемая переменная \'boolean\'
dbdimp.c: В функции \'get_server_version\':
dbdimp.c:1625: предупреждение: неиспользуемая переменная \'db\'
_____________________________________________________________

http://freetds.cvs.sourceforge.net/viewvc/freetds/freetds/ChangeLog?revision=1.2454.2.52&view=markup&pathrev=BRANCH0_82

http://ibiblio.org/pub/Linux/ALPHA/freetds/current/freetds-current.tgz

This has been fixed.  You might want to use the latest patched version of
0.82 or, at the very least, take cspublic.h from there.  

Give a shout if you have further troubles.  :-)

После инсталла девелоперской версии фридтс у меня все заработало, а до этого тоже были аналогичные ошибки.

Еще. полистай здесь!
http://www.idevelopment.info/data/MSSQL/DBA_tips/Programming/PROG_2.shtml

Удачи!