URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8141
[ Назад ]

Исходное сообщение
"fbsql + tcl + freebsd"

Отправлено Mo , 11-Мрт-09 15:35 
Возникла необходимость перенести сайт с одного хостинга на другой. Старый хостинг на Linux сервере, новый FreeBSD 6. Скрипты писаны на TCL используют библиотеку fbsql, сама библиотека компилируется, но когда запускаю скрипт выдает ошибку.


couldn't load file "../lib/tcllib/fbsql/fbsql.so": /usr/local/lib/mysql/libmysqlclient.so.14: Undefined symbol "gethostbyname_r"
   while executing
"load ../lib/tcllib/fbsql/fbsql.so"
   ("package ifneeded" script)
    invoked from within
"package require "fbsql""


Содержание

Сообщения в этом обсуждении
"fbsql + tcl + freebsd"
Отправлено geekkoo , 12-Мрт-09 11:09 
>Возникла необходимость перенести сайт с одного хостинга на другой. Старый хостинг на
>Linux сервере, новый FreeBSD 6. Скрипты писаны на TCL используют библиотеку
>fbsql, сама библиотека компилируется, но когда запускаю скрипт выдает ошибку.
>
>
>couldn't load file "../lib/tcllib/fbsql/fbsql.so": /usr/local/lib/mysql/libmysqlclient.so.14: Undefined symbol "gethostbyname_r"

А команда mysql работает? gethostbyname_r - это из glibc, где она в FreeBSD находится?
>   while executing
>"load ../lib/tcllib/fbsql/fbsql.so"
>   ("package ifneeded" script)
>    invoked from within
>"package require "fbsql""

Это че-то очень замшелое. Может лучше mysqltcl использовать?


"fbsql + tcl + freebsd"
Отправлено Mo , 12-Мрт-09 13:20 
>[оверквотинг удален]
>
>А команда mysql работает? gethostbyname_r - это из glibc, где она в
>FreeBSD находится?
>>   while executing
>>"load ../lib/tcllib/fbsql/fbsql.so"
>>   ("package ifneeded" script)
>>    invoked from within
>>"package require "fbsql""
>
>Это че-то очень замшелое. Может лучше mysqltcl использовать?

Перейти на mysqltcl возможности нет, тогда придется движок переписывать. Поиск в интернете показал что в glibc для FreeBSD6 нет gethostbyname_r, нужно пересобирать libmysqlclient.so . Может кто сталкивался ?


"fbsql + tcl + freebsd"
Отправлено Diogene.OSS programmer , 12-Мрт-09 19:53 
>>[оверквотинг удален]
>>
>>gethostbyname_r - это из glibc, где она в FreeBSD находится?

Она там разве что в /opt/ftp/income/unsorted :)

>Поиск в интернете показал что в glibc для FreeBSD6 нет gethostbyname_r,

А поиск на локальном харде что - показал glibc? - Ну дык поздравляю - у вас Линукс! :)

>нужно пересобирать libmysqlclient.so

У вас mysql консолька не работает?
Кстати - уже спрашивали. Если нам приходится угадывать Ваши ответы - будет честно если вам придется угадывать наши :)

>. Может кто сталкивался ?

Скорее сего собака в /lib/tcllib/fbsql/fbsql.so - но я не тиклист, тут тебе к специалисту надо.


PS: Телепаты как известно в отпуске. Но если FreeBSD 6 это 6.3 то там таки gethostbyname_r есть. Только что проверил.


"fbsql + tcl + freebsd"
Отправлено gaa , 12-Мрт-09 21:48 
>Скорее сего собака в /lib/tcllib/fbsql/fbsql.so - но я не тиклист, тут тебе
>к специалисту надо.

Это не от тикля ругательство, а от ld. Так что до тикля дело даже дойти не успело.


"fbsql + tcl + freebsd"
Отправлено Diogene.OSS programmer , 13-Мрт-09 23:09 
>>Скорее сего собака в /lib/tcllib/fbsql/fbsql.so - но я не тиклист, тут тебе
>>к специалисту надо.
>Это не от тикля ругательство, а от ld. Так что до тикля
>дело даже дойти не успело.

Ok. Мне то че ;) Ход мысли был таким:
fbsql.so - это:
- запчасть от MySQL?
- от FreBSD?
Вот что гуголь говорит: "This Tcl extension provides access to MySQL database servers using simple Tcl commands."

Далее я уже упомянул что на поднадзорной 6.3 - в частях не касаемых тикля - все Ок!
ЗырЬ:

# uname -a
FreeBSD box.domain.com 6.3-RELEASE-p7 FreeBSD 6.3-RELEASE-p7 #0: Sun Dec 21 03:42:05 UTC 2008     root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386
# nm /usr/local/lib/mysql/libmysqlclient.so | grep gethost
         U gethostbyname_r
0001f5f4 T my_gethostbyname_r
# nm /usr/lib/libc.a | grep gethostbyname_r
00000744 T gethostbyname_r

Разъяснять надеюсь не надо?
Стало быть ">>Скорее сего собака в /lib/tcllib/fbsql/fbsql.so " - не так ли?

PS: Аффтар - а расскажи как нам подробнее как ты эту собаку fbsql.so добыл? А то одна мысль возникла ....


"fbsql + tcl + freebsd"
Отправлено geekkoo , 14-Мрт-09 09:28 
>PS: Аффтар - а расскажи как нам подробнее как ты эту собаку
>fbsql.so добыл? А то одна мысль возникла ....

В гугле забанили? http://www.fastbase.co.nz/fbsql/index.html

Под линуксом, кстати, несмотря на древность кода всё работает:
$gcc -fPIC -c -I/usr/include/mysql fbsql.c
$gcc -shared -L/usr/lib -ltcl8.5  -L/usr/lib/mysql -lmysqlclient  fbsql.o -o fbsql.so
$export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/mysql
$tclsh
% load ./fbsql.so
% sql
Usage: sql connect|selectdb|query|numrows|disconnect|version; please try again.
%


"fbsql + tcl + freebsd"
Отправлено Diogene.OSS programmer , 16-Мрт-09 23:21 
>>PS: Аффтар - а расскажи как нам подробнее как ты эту собаку
>>fbsql.so добыл? А то одна мысль возникла ....
>В гугле забанили? http://www.fastbase.co.nz/fbsql/index.html

Малыш - не умничай, не надо ...(С) 8-)

>Под линуксом, кстати, несмотря на древность кода всё работает:

Ну вот как бэ тебе совсем уж доходчиво объяснить то ... Ты под _фрю_ как собирал показать не хочешь? Тогда тебе к телепатам - а оне только платые :)