Roman
это личное отношение, не верю, что на питоне можно писать серьезное, а на луа нет
Serge
С++ это и есть простой набор инструментов.
Ivan
Проблема Си++ в сложности
Ivan
особенно когда люди начинают упарываться
Ivan
шаблоны на шаблоны
Ivan
me gusta)
Serge
Проблема Си++ в сложности
Проблема С++ не в сложности, а в том, что люди хотят его использовать на 100%. В то время как в этом нет никакой необходимости.
Serge
На С++ можно всю жизнь создавать хорошие программы и не использовать шаблоны. И программы от этого хуже не будут.
Serge
Я тоже долго на нем пишу. И мне он не кажется перегруженным, потому, что я использую вариант С++, который был в середине 90-х, когда stl только появилась. Меня это вполне устраивает и все эти лямбды меня не интересуют.
Serge
Луа это скриптовый язык, я его использую для расширения своей проги. Создать на луа программу с гуем сложно. По крайней мере для меня.
Serge
Кинь пожалуйста. Интересно. Может я просто ещё не вкурил луа.
bebebe
коллеги, поставил fblicent и alien через luarocks пробую заюзать fbclient
bebebe
local fb = require "fbclient.class"
bebebe
получаю /usr/local/openresty/luajit/share/lua/5.1/fbclient/init.lua:21: module 'alien.struct' not found:
bebebe
куда копать?
mva
по-моему, ответ очевиден и прямо следует из текста ошибки
bebebe
по-моему, ответ очевиден и прямо следует из текста ошибки
вы видимо до этого не имели опыта с модулем alien и alien.struct
mva
а при чём тут имение дел, если ошибка интерпретатора
mva
и он явно говорит что именно не так
bebebe
ясно понятно, как бы вы решили эту ошибку?
bebebe
find / | grep -i alien | grep -i struct | wc -l
bebebe
0
bebebe
мне нужен firebird sql client асинхронный
bebebe
дыа
bebebe
alpine3.6 (если это имеет значение)
bebebe
дыа, рут
void *
https://youtu.be/QMYfkOtYYlg
bebebe
я знаю куда он ставит, весь вопрос в том то ли модуль fbclient протух и хочет того что нет, либо одно из двух
bebebe
да, это я тоже прочитал
bebebe
но не ставит, и файла такого нет, ни .lua, ни .so
bebebe
я руками скомилировал тот struct от которого "форкнулся" проект alien.struct - но он настолько древний что половину символов судя по ldd не находит
bebebe
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
bebebe
я в замешательстве
bebebe
поставьте libffi и libffi-dev
bebebe
если это только поможет делу
bebebe
поставь пакетным менеджером линукса libffi и libffi-dev
bebebe
если что, вот мой докер контейнер https://hastebin.com/cagesubigi.tex
bebebe
а что за система?
bebebe
rpm-based?
bebebe
тогда не знаю, я с макосью не очень luarocks когда ставит alien пытается компилировать код он требует хедеров от libffi
bebebe
я все же подозреваю что luarocks install fbclient ставит что-то древнее, которое когда-то использовало alien.struct, далее в alien что-то поменялось, и alien.struct пропало
bebebe
это я уже пробовал module 'alient.struct' not found:
bebebe
да
bebebe
luarocks show fbclient |head -n3 fbclient 0.5.0-1 - A pure-Lua binding of the Firebird client library
bebebe
luarocks show alien |head -n3 alien 0.7.1-2 - Lua->C FFI
bebebe
дыа
bebebe
luarocks install <package> version
bebebe
http://luarocks.org:8080/modules/luarocks/fbclient
bebebe
есть 0.5.0 и 0.4.0
bebebe
попробовал поставить 0.4.0 ошибка поменялась /usr/bin/lua: /usr/local/openresty/luajit/share/lua/5.1/alien.lua:1: module 'alien_c' not found:
bebebe
видимо нужен постарее alien
bebebe
да
bebebe
ога
bebebe
так, там видимо нужен еще и старый lua
bebebe
alien не ставится
bebebe
rc/alien/core.c:1412:30: error: array type has incomplete element type 'struct luaL_reg' static const struct luaL_reg alienlib[] = {
bebebe
5.1 поставил
bebebe
заработало, во всяком случае require прошел
bebebe
теперь попробую сделать запрос
bebebe
спасибо
bebebe
но я не уверен что оно теперь в openresty заработает
bebebe
и несколько удивлен почему не работает с последними версиями
mva
а не проще было заглянуть в rocks-файл? :)
mva
5.1 поставил
а не проще было бы тогда уж сразу LuaJIT взять?
mva
(ну, это не столько к bebebe, сколько к авторам fbclient)
mva
если оно всё равно только 5.1 A{P,B}I умеет, то можно было бы не к чужому привязываться, а к LuaJIT'у. И FFI, и другие плюшки из коробки и даже бекпорт няшностей из 5.2/5.3 :-/
bebebe
а еще вопрос, есть ли альтернативные способы в lua подключиться асинхронно к firebird базе? может odbc какой есть
bebebe
я еще не гуглил
mva
/me бы вообще желал чтобы Firebird ещё лет 40 назад закопали и больше не откапывали
FailsBot
Vadim бы вообще желал чтобы Firebird ещё лет 40 назад закопали и больше не откапывали
bebebe
понятненько...
bebebe
а по сути вопроса есть чо? а то в прошлый раз вы мне советовали alien.struct поставить
bebebe
есть слово такое legacy, и мне приходится с ним работать
bebebe
Филип я не тебе,а Вадиму
mva
я тоже ничего не советовал
bebebe
ну тогда респект таким пацанам
mva
а "по теме" - я было дело уже начал писать ответ, что firebird ровно так же не нужен и большинству других lua девелоперов, поэтому шанс, что есть вообще работающая прослойка минимален, а что есть асинхронная и того меньше
mva
но это тоже не по теме, если по сути
mva
> 2013
mva
если оно соберётся современным компилятором это будет чудо