luasec не работает в 5.1 и 5.2, но работает в 5.3

Я устанавливаю LuaSec 0.9 через LuaRocks 3.3.1 с OpenSSL 1.1.1g (через MacPorts).

Я использую luarocks install OPENSSL_DIR=/opt/local luasec

Компиляция/установка прошла успешно для Lua 5.1, 5.2 и 5.3.

Однако, когда я пытаюсь использовать его, я получаю следующие ошибки:

  1. Луа 5.1
  • dlopen(/usr/local/lib/lua/5.1/ssl.so, 2): Symbol not found: _luaL_checkversion_
  1. Луа 5.2
  • dlopen(/usr/local/lib/lua/5.2/ssl.so, 6): Symbol not found: _lua_rotate
  1. Луа 5.3
  • успех

person LiamF    schedule 17.07.2020    source источник


Ответы (1)


Оказывается, это не проблема luasec или Lua; это проблема с LuaRocks после обновления до последней версии. Ситуация разрешилась; см. здесь.

person LiamF    schedule 27.07.2020
comment
Следуя ссылке, было ли решение, что вы выяснили, как использовать плохо документированные флаги --lua-dir и --lua-version? Если это так, здесь может быть полезно некоторое описание этого решения. - person ad absurdum; 27.07.2020
comment
Точное решение зависит от того, как вы создаете и устанавливаете свои интерпретаторы Lua. Я устанавливаю их в /usr/local/lua-5.X, где X — младшая версия. Поэтому типичный вызов luarocks (для меня) будет чем-то вроде luarocks install --lua-version=5.2 --lua-dir=/usr/local/lua-5.2 OPENSSL_DIR=/opt/local luasec Необходимы оба флага. - person LiamF; 03.08.2020