我正在Centos 6.5上编译Lua 5.2.3,编译/安装正常。但是,我还需要另一个程序的开发库进行编译。通常,我会通过以下方式安装这些库:
问题是安装了Lua 5.1共享库,而不是5.2.3版本的库。我可以使用Centos仓库中的Lua 5.1,但如果有人能帮我使最新版本工作起来(对于知道的人来说很简单),那么我会非常感激。对于我来说,Linux的makefiles还是有些困难的,你懂的...
编辑
我找到了这个网站 - http://lua-users.org/lists/lua-l/2006-10/msg00091.html - 很久以前它建议对makefiles进行一些更改,但现在运行它们时我得到了这个:
你正在将“-fPIC”添加到最后。
现在似乎工作正常。
感谢Etan,但我接受catwell的答案,因为它直接导致了解决方案。
yum install lua-devel
问题是安装了Lua 5.1共享库,而不是5.2.3版本的库。我可以使用Centos仓库中的Lua 5.1,但如果有人能帮我使最新版本工作起来(对于知道的人来说很简单),那么我会非常感激。对于我来说,Linux的makefiles还是有些困难的,你懂的...
编辑
我找到了这个网站 - http://lua-users.org/lists/lua-l/2006-10/msg00091.html - 很久以前它建议对makefiles进行一些更改,但现在运行它们时我得到了这个:
gcc -fPIC -o liblua.so -shared 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
/usr/bin/ld: lapi.o: relocation R_X86_64_32 against `luaO_nilobject_' can not be used
when making a shared object; recompile with -fPIC
请注意,我添加了-fPIC是徒劳的举动;这并不是链接中建议的,只是在错误提示中暗示了。
编辑2-解决方案
好的,虽然我最初自己找到了这个模块,但是catwell的保证让我坚持下去。这是我所做的...
从catwell's link中手动编辑Makefiles。很容易跟进(正如catwell建议的那样,忽略luaconf.h的修改)。
缺少的链接是更改以下行:
src/Makefile
------------
CFLAGS= -O2 -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS) -fPIC
你正在将“-fPIC”添加到最后。
现在似乎工作正常。
感谢Etan,但我接受catwell的答案,因为它直接导致了解决方案。