我在安装 piqic-erlang 时遇到问题。 当我“制作”时,我得到这个:
bash-3.2$ make
rebar compile
==> piqic-erlang (compile)
==> piqi-erlang (compile)
set -e; \
for i in piqi_rpc.piqi piqi_tools.piqi; do \
../piqic-erlang/piqic-erlang $i; \
done
escript: exception error: undefined function piqic_erlang:main/1
in function escript:run/2 (escript.erl, line 752)
in call from escript:start/1 (escript.erl, line 276)
in call from init:start_it/1
in call from init:start_em/1
make[1]: *** [piqi_rpc_piqi.erl] Error 127
ERROR: Command [compile] failed!
make: *** [all] Error 1
可能是什么问题?
更新: 感谢您的帮助,但是在“make”之前的“make deps”不起作用。我仍然遇到同样的错误。现在,我尝试直接从/piqi-erlang/priv/bin 运行脚本 piqic-erlang,它再次找不到“main”函数:
bash-3.2$ ./piqic-erlang
escript: exception error: undefined function piqic_erlang:main/1
in function erl_eval:local_func/5 (erl_eval.erl, line 544)
in call from escript:interpret/4 (escript.erl, line 781)
in call from escript:start/1 (escript.erl, line 276)
in call from init:start_it/1
in call from init:start_em/1
为什么 escript 看不到“main”函数?
最佳答案
piqic-erlang
没有被正确编译,因为它的 src
erl 文件是符号链接(symbolic link),rebar 没有发现它,因为它使用 filelib: fold_files/5
不返回符号链接(symbolic link)! (可能是错误 introduced in R17.1 和 fixed in R17.1.2 )
作为解决方法,您可以手动编译它然后重新制作,这里是命令(假设您在 piqi-erlang
root 中):
cd piqic-erlang; erlc -o ebin src/*.erl; cd ..; make
关于erlang - 脚本 : exception error: undefined function piqic_erlang:main/1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25705512/