
bebebe
17.07.2017
21:36:02
куда копать?

Vadim
17.07.2017
21:46:01
по-моему, ответ очевиден и прямо следует из текста ошибки

bebebe
17.07.2017
21:46:53

Vadim
17.07.2017
21:47:38
а при чём тут имение дел, если ошибка интерпретатора

Google

Vadim
17.07.2017
21:47:43
и он явно говорит что именно не так

bebebe
17.07.2017
21:51:06
ясно понятно, как бы вы решили эту ошибку?

Philipp
17.07.2017
21:51:08
Вадим, на самом деле, ошибка не сильно очевидная
Я бы предположил, что проблемы с путями поиска интерпретатора

bebebe
17.07.2017
21:52:16
find / | grep -i alien | grep -i struct | wc -l
0
мне нужен firebird sql client асинхронный

Philipp
17.07.2017
21:53:07
Линукс?

bebebe
17.07.2017
21:53:11
дыа
alpine3.6 (если это имеет значение)

Philipp
17.07.2017
21:53:22
Через консоль запускаешь?

bebebe
17.07.2017
21:53:28
дыа, рут

Philipp
17.07.2017
21:53:41
Посмотри, луарокс указывает, куда ставит

Google

Плюшка
17.07.2017
21:54:57

bebebe
17.07.2017
21:55:00
я знаю куда он ставит, весь вопрос в том то ли модуль fbclient протух и хочет того что нет, либо одно из двух

Philipp
17.07.2017
21:55:31
alien.struct – изменененная либа struct от РИ
И по идее он должен ставиться при установке alien


bebebe
17.07.2017
21:55:59
да, это я тоже прочитал
но не ставит, и файла такого нет, ни .lua, ни .so
я руками скомилировал тот struct от которого "форкнулся" проект alien.struct - но он настолько древний что половину символов судя по ldd не находит
Error relocating ./struct.so: lua_isnumber: symbol not found
Error relocating ./struct.so: luaL_addlstring: symbol not found
Error relocating ./struct.so: lua_gettop: symbol not found
Error relocating ./struct.so: luaL_checkstack: symbol not found
Error relocating ./struct.so: luaL_checklstring: symbol not found
Error relocating ./struct.so: lua_pushnumber: symbol not found
Error relocating ./struct.so: lua_pushlstring: symbol not found
Error relocating ./struct.so: lua_pushnil: symbol not found
Error relocating ./struct.so: luaL_error: symbol not found
Error relocating ./struct.so: lua_tonumber: symbol not found
Error relocating ./struct.so: lua_settop: symbol not found
Error relocating ./struct.so: lua_pushfstring: symbol not found
Error relocating ./struct.so: luaL_checknumber: symbol not found
Error relocating ./struct.so: luaL_buffinit: symbol not found
Error relocating ./struct.so: luaL_pushresult: symbol not found
Error relocating ./struct.so: luaL_argerror: symbol not found
Error relocating ./struct.so: luaL_optinteger: symbol not found
Error relocating ./struct.so: luaL_prepbuffer: symbol not found
Error relocating ./struct.so: luaL_register: symbol not found
Error relocating ./struct.so: lua_pushinteger: symbol not found
я в замешательстве


Philipp
17.07.2017
21:57:35
Сейчас поставлю и потещу
Ахах
configure: error: in `/private/tmp/luarocks_alien-0.7.1-2-4256/alien':
configure: error: cannot find new enough libffi
See `config.log' for more details
Error: Build error: Failed building.

bebebe
17.07.2017
21:58:46
поставьте libffi и libffi-dev

Philipp
17.07.2017
21:59:02
Можно на ты, да

bebebe
17.07.2017
21:59:25
если это только поможет делу

Philipp
17.07.2017
21:59:31
Поможет :)

bebebe
17.07.2017
21:59:47
поставь пакетным менеджером линукса libffi и libffi-dev

Philipp
17.07.2017
21:59:53
Ага, сейчас сделаю

bebebe
17.07.2017
22:00:46
если что, вот мой докер контейнер https://hastebin.com/cagesubigi.tex

Philipp
17.07.2017
22:01:05
libffi-dev у себя вообще не нахожу, а libffi и так стоит...

Google

bebebe
17.07.2017
22:01:17
а что за система?
rpm-based?

Philipp
17.07.2017
22:02:14
Вообще, OSX. Но luarocks один и тот же, поэтому нужно только заставить его поставиться. Я верю, что alien должен ставить struct

bebebe
17.07.2017
22:02:48
тогда не знаю, я с макосью не очень
luarocks когда ставит alien пытается компилировать код
он требует хедеров от libffi
я все же подозреваю что luarocks install fbclient ставит что-то древнее, которое когда-то использовало alien.struct, далее в alien что-то поменялось, и alien.struct пропало

Philipp
17.07.2017
22:06:51
Какая версия fbc?
Попробуй в Луа файле написать типа local struct = require'alient.struct'

bebebe
17.07.2017
22:10:07
это я уже пробовал
module 'alient.struct' not found:

Philipp
17.07.2017
22:10:22
Хм, а alien поставился сам?

bebebe
17.07.2017
22:10:50
да
luarocks show fbclient |head -n3
fbclient 0.5.0-1 - A pure-Lua binding of the Firebird client library
luarocks show alien |head -n3
alien 0.7.1-2 - Lua->C FFI

Philipp
17.07.2017
22:12:46
У алиана сайт протух. У них там последняя версия – 0.5

bebebe
17.07.2017
22:13:05
дыа

Philipp
17.07.2017
22:13:31
А поставь 0.5
Пытаюсь найти как указать версию в Луарокс

bebebe
17.07.2017
22:15:51
luarocks install <package> version
http://luarocks.org:8080/modules/luarocks/fbclient
есть 0.5.0
и 0.4.0
попробовал поставить 0.4.0
ошибка поменялась
/usr/bin/lua: /usr/local/openresty/luajit/share/lua/5.1/alien.lua:1: module 'alien_c' not found:

Google

Philipp
17.07.2017
22:18:00
У тебя слишком новый alien
Поставь 0.5.0-1

bebebe
17.07.2017
22:18:09
видимо нужен постарее alien
да

Philipp
17.07.2017
22:18:20
luarocks install alient 0.5.0-1

bebebe
17.07.2017
22:18:43
ога
так, там видимо нужен еще и старый lua
alien не ставится
rc/alien/core.c:1412:30: error: array type has incomplete element type 'struct luaL_reg'
static const struct luaL_reg alienlib[] = {

Philipp
17.07.2017
22:19:33
У тебя Луа 5.2?

Admin
ERROR: S client not available

Philipp
17.07.2017
22:20:37
Ага, там хедера нет нужного в 5.2
Нужен 5.1

bebebe
17.07.2017
22:20:53
5.1 поставил
заработало, во всяком случае require прошел
теперь попробую сделать запрос
спасибо

Philipp
17.07.2017
22:24:34
Да не за что, в общем-то =)

bebebe
17.07.2017
22:24:40
но я не уверен что оно теперь в openresty заработает
и несколько удивлен почему не работает с последними версиями

Google

Philipp
17.07.2017
22:25:33
Потому что я так думаю в Луа 5.2 либу struct поменяли, и она мб стала неактуальной для Alien'а
А fbclient не обновили

Vadim
17.07.2017
22:44:08

Philipp
17.07.2017
22:44:43
Но, собственно, я потом так и сделал, когда понял, что сайт алиена устарел

Vadim
17.07.2017
22:46:01
(ну, это не столько к bebebe, сколько к авторам fbclient)
если оно всё равно только 5.1 A{P,B}I умеет, то можно было бы не к чужому привязываться, а к LuaJIT'у. И FFI, и другие плюшки из коробки и даже бекпорт няшностей из 5.2/5.3 :-/

bebebe
17.07.2017
22:48:37
а еще вопрос, есть ли альтернативные способы в lua подключиться асинхронно к firebird базе? может odbc какой есть
я еще не гуглил

Vadim
17.07.2017
22:49:21
/me бы вообще желал чтобы Firebird ещё лет 40 назад закопали и больше не откапывали

FailsBot
17.07.2017
22:49:23
Vadim бы вообще желал чтобы Firebird ещё лет 40 назад закопали и больше не откапывали

bebebe
17.07.2017
22:50:18
понятненько...
а по сути вопроса есть чо? а то в прошлый раз вы мне советовали alien.struct поставить

Philipp
17.07.2017
22:51:06
(Справедливости ради скажу, что я ничо не советовал :D)

bebebe
17.07.2017
22:51:06
есть слово такое legacy, и мне приходится с ним работать
Филип я не тебе,а Вадиму

Vadim
17.07.2017
22:51:36
я тоже ничего не советовал

bebebe
17.07.2017
22:51:52
ну тогда респект таким пацанам

Vadim
17.07.2017
22:52:24
а "по теме" - я было дело уже начал писать ответ, что firebird ровно так же не нужен и большинству других lua девелоперов, поэтому шанс, что есть вообще работающая прослойка минимален, а что есть асинхронная и того меньше
но это тоже не по теме, если по сути