我尝试在osx yosemite(10.10.4)下制作gunplot 5.0.0,它带有错误:

$ make
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in config
make[2]: Nothing to be done for `all'.
Making all in m4
make[2]: Nothing to be done for `all'.
Making all in term
make[2]: Nothing to be done for `all'.
Making all in src
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in wxterminal
make[4]: Nothing to be done for `all'.
Making all in qtterminal
make[4]: Nothing to be done for `all'.
c++  -g -O2   -o gnuplot alloc.o axis.o breaders.o boundary.o color.o command.o contour.o datablock.o datafile.o dynarray.o eval.o external.o fit.o gadgets.o getcolor.o graph3d.o graphics.o help.o hidden3d.o history.o internal.o interpol.o libcerf.o matrix.o misc.o mouse.o multiplot.o parse.o plot.o plot2d.o plot3d.o pm3d.o readline.o save.o scanner.o set.o show.o specfun.o standard.o stats.o stdfn.o tables.o tabulate.o term.o time.o unset.o util.o util3d.o variable.o version.o     -lreadline  -lncurses  -lz    -llua -liconv
Undefined symbols for architecture x86_64:
  "_luaL_checkint", referenced from:
      _LUA_GP_int_error in term.o
      _LUA_GP_int_warn in term.o
     (maybe you meant: _luaL_checkinteger)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [gnuplot] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


似乎与lua有关。这是我的lua env:

$ lua -v
Lua 5.3.0  Copyright (C) 1994-2015 Lua.org, PUC-Rio


我不了解make的输出,请帮忙!

最佳答案

似乎您正在编译的模块/应用程序不是Lua 5.3-compatible。它使用luaL_checkint,但是Lua 5.3使用luaL_checkinteger。您需要更新模块或使用兼容性开关LUA_COMPAT_APIINTCASTSLUA_COMPAT_5_2应该可以正常工作,因为它包含LUA_COMPAT_APIINTCASTS)。

08-25 18:48