我试图用luarocks安装numlua:
luarocks make numlua-0.3-1.rockspec
但是我收到以下错误:
/usr/bin/ld: numlua.o: relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
numlua.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
cp: cannot stat `numlua.so': No such file or directory
我猜我需要将-fPIC参数添加为标志,但不是很好的编译器和luaRocks的第一个定时器我不知道如何或在哪里添加它,或者,如果还有别的我做错了。任何帮助将不胜感激!
答案 0 :(得分:4)
Per this mailing list discussion,看起来LuaRocks配置为32位系统,而实际运行在64位系统上。您可能是通过软件包管理器安装的,因为从源代码安装时不应该这样做。
找到您的luarocks/config.lua
文件。在我的Ubuntu 11.10系统上,它位于/usr/share/lua/5.1/luarocks/config.lua
。找到标有LUAROCKS_UNAME_M
的行,并将i686
更改为x86_64
。
现在luarocks知道它在64位机器上,numlua应该编译好。