【发布时间】:2021-10-19 07:25:08
【问题描述】:
从昨天开始,我就一直在尝试安装 lua.vm.js 来使用它。我在这里和那里遇到了一些障碍,但到目前为止,我不知道如何解决这个问题。我一直在尝试做的就是真正地构建它,就是这样。我从this GitHub page 获得了文件,我只是想按照说明进行操作。但是我收到了这条错误消息,至少对我而言,它没有任何意义,而且我不知道如何找到解决方案。
C:\lua.vm.js-master\lua>make emscripten
cd src && make emscripten
process_begin: CreateProcess(NULL, em-config EMCC, ...) failed.
process_begin: CreateProcess(NULL, em-config EMAR, ...) failed.
process_begin: CreateProcess(NULL, em-config EMRANLIB, ...) failed.
make[1]: Entering directory `C:/lua.vm.js-master/lua/src'
make ../../dist/lua.vm.js \
CC="" \
AR=" rcu" \
RANLIB="" \
SYSLDFLAGS="-Os \
-s INVOKE_RUN=0 \
-s NO_EXIT_RUNTIME=1 \
-s TOTAL_MEMORY=134217728 \
-s RESERVED_FUNCTION_POINTERS=8 \
--memory-init-file 0 \
--post-js ../../src/lua.js \
--embed-file ../../src/js.lua@js.lua \
"
make[2]: Entering directory `C:/lua.vm.js-master/lua/src'
O2 -Wall -DLUA_COMPAT_ALL -c -o lapi.o lapi.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lapi.o lapi.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lapi.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lcode.o lcode.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lcode.o lcode.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lcode.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lctype.o lctype.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lctype.o lctype.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lctype.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o ldebug.o ldebug.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o ldebug.o ldebug.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [ldebug.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o ldo.o ldo.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o ldo.o ldo.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [ldo.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o ldump.o ldump.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o ldump.o ldump.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [ldump.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lfunc.o lfunc.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lfunc.o lfunc.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lfunc.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lgc.o lgc.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lgc.o lgc.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lgc.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o llex.o llex.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o llex.o llex.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [llex.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lmem.o lmem.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lmem.o lmem.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lmem.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lobject.o lobject.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lobject.o lobject.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lobject.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lopcodes.o lopcodes.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lopcodes.o lopcodes.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lopcodes.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lparser.o lparser.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lparser.o lparser.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lparser.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lstate.o lstate.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lstate.o lstate.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lstate.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lstring.o lstring.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lstring.o lstring.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lstring.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o ltable.o ltable.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o ltable.o ltable.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [ltable.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o ltm.o ltm.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o ltm.o ltm.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [ltm.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lundump.o lundump.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lundump.o lundump.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lundump.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lvm.o lvm.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lvm.o lvm.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lvm.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lzio.o lzio.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lzio.o lzio.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lzio.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lauxlib.o lauxlib.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lauxlib.o lauxlib.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lauxlib.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lbaselib.o lbaselib.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lbaselib.o lbaselib.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lbaselib.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lbitlib.o lbitlib.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lbitlib.o lbitlib.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lbitlib.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lcorolib.o lcorolib.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lcorolib.o lcorolib.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lcorolib.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o ldblib.o ldblib.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o ldblib.o ldblib.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [ldblib.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o liolib.o liolib.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o liolib.o liolib.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [liolib.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lmathlib.o lmathlib.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lmathlib.o lmathlib.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lmathlib.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o loslib.o loslib.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o loslib.o loslib.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [loslib.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o lstrlib.o lstrlib.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o lstrlib.o lstrlib.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [lstrlib.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o ltablib.o ltablib.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o ltablib.o ltablib.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [ltablib.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o loadlib.o loadlib.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o loadlib.o loadlib.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [loadlib.o] Error 2 (ignored)
O2 -Wall -DLUA_COMPAT_ALL -c -o linit.o linit.c
process_begin: CreateProcess(NULL, O2 -Wall -DLUA_COMPAT_ALL -c -o linit.o linit.c, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: [linit.o] Error 2 (ignored)
rcu liblua.a lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o lmathlib.o loslib.o lstrlib.o ltablib.o loadlib.o linit.o
process_begin: CreateProcess(NULL, rcu liblua.a lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o lmathlib.o loslib.o lstrlib.o ltablib.o loadlib.o linit.o, ...) failed.
make (e=2): The system cannot find the file specified.
make[2]: *** [liblua.a] Error 2
make[2]: Leaving directory `C:/lua.vm.js-master/lua/src'
make[1]: *** [emscripten] Error 2
make[1]: Leaving directory `C:/lua.vm.js-master/lua/src'
make: *** [emscripten] Error 2
我尝试寻找其他有类似问题的人,但似乎这个问题是特定于你正在尝试做的事情,所以我无法将我发现的任何内容应用于这个问题。我是用gnuwn32制作的,没有篡改任何文件。
我会记录更多信息。 makefile 引用的 em-config.py 文件包含以下代码:
"""This is a helper tool which is designed to make it possible
for other apps to read emscripten's configuration variables
in a unified way. Usage:
em-config VAR_NAME
This tool prints the value of the variable to stdout if one
is found, or exits with 1 if the variable does not exist.
"""
import sys
import re
from tools import config
def main():
if len(sys.argv) != 2 or \
not re.match(r"^[\w\W_][\w\W_\d]*$", sys.argv[1]) or \
not hasattr(config, sys.argv[1]):
print('Usage: em-config VAR_NAME', file=sys.stderr)
exit(1)
print(getattr(config, sys.argv[1]))
return 0
if __name__ == '__main__':
sys.exit(main())
你可以清楚地看到它在 cmets 中的用法,它应该是“使其他应用程序能够以统一的方式读取 emscripten 的配置变量”,而在它的正下方,是 lua.vm.js 的 Makefile 的代码行调用以查找某些变量。如此处所示:
process_begin: CreateProcess(NULL, em-config EMCC, ...) failed.
process_begin: CreateProcess(NULL, em-config EMAR, ...) failed.
process_begin: CreateProcess(NULL, em-config EMRANLIB, ...) failed.
为什么它仍然拒绝找到合适的文件是我目前无法理解的。但是我有一个线索,Makefile 试图寻找的这个 C 编译器在我的系统上可能不存在,这既奇怪又令人困惑。
【问题讨论】:
标签: windows makefile lua gnuwin32