I try to make gunplot 5.0.0 under osx yosemite(10.10.4), and it comes with errors:
$ 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
Seems like something related to lua. This is my lua env:
$ lua -v
Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio
I don't understand the make's output, please help!
It appears that the module/application you are compiling is not Lua 5.3-compatible. It uses luaL_checkint
, but Lua 5.3 is using luaL_checkinteger
. You need to update the module or use the compatibility switch LUA_COMPAT_APIINTCASTS
(LUA_COMPAT_5_2
should work as well as it includes LUA_COMPAT_APIINTCASTS
).
I had the same issue when using macports and trying to compile gnuplot (as a dependency for latex2rtf). In the end the fix was relatively straightforward...
In the version of gnuplot I needed (gnuplot-5.0.1), there are two references to luaL_checkint in the lua.trm file found in the term folder:
./term/lua.trm: t_num = luaL_checkint(L, 1);
./term/lua.trm: t_num = luaL_checkint(L, 1);
./term/lua.trm: token_cnt = luaL_checkinteger(L, 1);
Changing luaL_checkint to luaL_checkinteger did the trick. See Paul Kulchenko answer for the reason behind this compatibility issue.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With