orange icon indicating copy to clipboard operation
orange copied to clipboard

反复装了N遍,还是报这个错:/usr/local/bin/orange:38: module 'bin.main' not found:

Open webangeld opened this issue 4 years ago • 8 comments

ERROR: /usr/local/bin/orange:38: module 'bin.main' not found: no field package.preload['bin.main'] no file '/usr/local/orange/deps/share/lua/5.1/orange/bin/main.lua' no file '/usr/local/orange/deps/share/lua/5.1/bin/main.lua' no file '/usr/local/openresty/site/lualib/bin/main.ljbc' no file '/usr/local/openresty/site/lualib/bin/main/init.ljbc' no file '/usr/local/openresty/lualib/bin/main.ljbc' no file '/usr/local/openresty/lualib/bin/main/init.ljbc' no file '/usr/local/openresty/site/lualib/bin/main.lua' no file '/usr/local/openresty/site/lualib/bin/main/init.lua' no file '/usr/local/openresty/lualib/bin/main.lua' no file '/usr/local/openresty/lualib/bin/main/init.lua' no file './bin/main.lua' no file '/usr/local/openresty/luajit/share/luajit-2.1.0-beta3/bin/main.lua' no file '/usr/local/share/lua/5.1/bin/main.lua' no file '/usr/local/share/lua/5.1/bin/main/init.lua' no file '/usr/local/openresty/luajit/share/lua/5.1/bin/main.lua' no file '/usr/local/openresty/luajit/share/lua/5.1/bin/main/init.lua' no file '/usr/local/openresty/site/lualib/bin/main.so' no file '/usr/local/openresty/lualib/bin/main.so' no file './bin/main.so' no file '/usr/local/lib/lua/5.1/bin/main.so' no file '/usr/local/openresty/luajit/lib/lua/5.1/bin/main.so' no file '/usr/local/lib/lua/5.1/loadall.so' no file '/usr/local/openresty/site/lualib/bin.so' no file '/usr/local/openresty/lualib/bin.so' no file './bin.so' no file '/usr/local/lib/lua/5.1/bin.so' no file '/usr/local/openresty/luajit/lib/lua/5.1/bin.so' no file '/usr/local/lib/lua/5.1/loadall.so' stack traceback: /usr/local/bin/orange:38: in function 'file_gen' init_worker_by_lua:46: in function <init_worker_by_lua:44> [C]: in function 'xpcall' init_worker_by_lua:53: in function <init_worker_by_lua:51>

webangeld avatar Mar 29 '20 13:03 webangeld

查看一下 /usr/local/orange/deps/share/lua/5.1/orange/bin/这个目录,是否lua的版本为5.3。具体什么原因导致的也不清楚,可能是因为安装时lua版本检测出了问题。

wannianma avatar Apr 21 '20 15:04 wannianma

我在ubuntu 18.04上也是这个错误。官方教程都是在centos上的,不知道是不是跟系统种类有关系。

wuyish avatar May 03 '20 10:05 wuyish

查看一下install.sh 里面有:luarocks --version 我系统没有安装luarocks 。apt-get install luarocks后,报错信息变成下面了: Missing dependencies for orange 0.8-1: luacrypto == 0.3.2-2 (not installed) luasocket == 3.0rc1-2 (not installed) lua-resty-http == 0.13-0 (not installed) lua-resty-kafka == 0.06-0 (not installed) lua-resty-dns-client == 1.0.0-1 (not installed) lua-resty-jwt == 0.2.0-0 (not installed) lua-resty-consul == 0.2-0 (not installed)

wuyish avatar May 03 '20 12:05 wuyish

orange 0.8-1 depends on luacrypto == 0.3.2-2 (not installed) Installing https://luarocks.org/luacrypto-0.3.2-2.src.rock gcc -O2 -fPIC -I/usr/include/lua5.1 -c src/lcrypto.c -o src/lcrypto.o -I/usr/include src/lcrypto.c: In function ‘digest_pnew’: src/lcrypto.c:81:61: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_MD_CTX {aka struct evp_md_ctx_st}’ EVP_MD_CTX *c = (EVP_MD_CTX *)lua_newuserdata(L, sizeof(EVP_MD_CTX)); ^~~~~~~~~~ src/lcrypto.c: In function ‘digest_reset’: src/lcrypto.c:120:10: warning: implicit declaration of function ‘EVP_MD_CTX_cleanup’; did you mean ‘EVP_MD_CTX_create’? [-Wimplicit-function-declaration] if (!EVP_MD_CTX_cleanup(c)) ^~~~~~~~~~~~~~~~~~ EVP_MD_CTX_create src/lcrypto.c: In function ‘encrypt_pnew’: src/lcrypto.c:331:69: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’ EVP_CIPHER_CTX *c = (EVP_CIPHER_CTX *)lua_newuserdata(L, sizeof(EVP_CIPHER_CTX)); ^~~~~~~~~~~~~~ src/lcrypto.c: In function ‘encrypt_fencrypt’: src/lcrypto.c:425:20: error: storage size of ‘c’ isn’t known EVP_CIPHER_CTX c; ^

wuyish avatar May 03 '20 12:05 wuyish

其实就是luarocks install安装这些缺失的环境时失败了。 luarocks install luacrypto

wuyish avatar May 03 '20 12:05 wuyish

看起来是openssl的evp.h不再export结构EVP_MD_CTX有关。

wuyish avatar May 03 '20 14:05 wuyish

如果使用 make install 安装 会缺少很多 lua的依赖性,尽量用他说明的 luarocks install orange 进行安装。 也可使用 docker 进行安装, docker pull ruicky/orange

ruicky avatar May 06 '20 10:05 ruicky

请按照 README 文档的命令和步骤安装 通过 CI 测试的 慢慢来 肯定可以安装成功的

wujunze avatar May 06 '20 10:05 wujunze