LuaRocks fPIC错误

时间:2012-02-03 22:12:35

标签: lua compiler-errors luarocks

我试图用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的第一个定时器我不知道如何或在哪里添加它,或者,如果还有别的我做错了。任何帮助将不胜感激!

1 个答案:

答案 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应该编译好。