leafo/pgmoon

Not possible to use pgmoon outside openresty by require within lua outside openresty. Error is

ismailadegbenga opened this issue · 5 comments

It is no longer possible to "require" pgmoon outside openresty. The error I get is:
loop or previous error loading module 'pgmoon'
stack traceback:
[C]: in function 'require'
./pgmoon.lua:3: in main chunk
[C]: in function 'require'
stdin:1: in main chunk
[C]: ?

leafo commented

Can you share the original error message?

The particular error you pasted means that the module had an error when being loaded earlier in your code.

Thanks leafo. The original error was:
assert(pg:connect())
/usr/local/share/lua/5.1/pgmoon/crypto.lua:6: module 'crypto' not found:
no field package.preload['crypto']
no file './crypto.lua'
no file '/usr/local/share/lua/5.1/crypto.lua'
no file '/usr/local/share/lua/5.1/crypto/init.lua'
no file '/usr/local/lib/lua/5.1/crypto.lua'
no file '/usr/local/lib/lua/5.1/crypto/init.lua'
no file '/usr/share/lua/5.1/crypto.lua'
no file '/usr/share/lua/5.1/crypto/init.lua'
no file './crypto.so'
no file '/usr/local/lib/lua/5.1/crypto.so'
no file '/usr/lib/x86_64-linux-gnu/lua/5.1/crypto.so'
no file '/usr/lib/lua/5.1/crypto.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
[C]: in function 'require'
/usr/local/share/lua/5.1/pgmoon/crypto.lua:6: in main chunk
[C]: in function 'require'
/usr/local/share/lua/5.1/pgmoon/init.lua:269: in function </usr/local/share/lua/5.1/pgmoon/init.lua:267>
(tail call): ?
/usr/local/share/lua/5.1/pgmoon/init.lua:211: in function 'connect'
stdin:1: in main chunk
[C]: ?

leafo commented

You need a library to calculate md5 outside of nginx. I've updated it to support both luaossl and luacrypto. I recommend luaossl as it's more maintained. I also added a better error message for people that encounter this in the future.

leafo commented

New version was deployed today with this change, 1.10.0

Thank you for the good work.