LuaRocks fPIC 错误

我正在尝试使用luarocks安装numlua:

luarocks make numlua-0.3-1.rockspec 

但是遇到了以下错误:

/usr/bin/ ld:numlua.o:重新定位中对“。bss”的R_X86_64_32不能在制作共享对象时使用;请使用-fPIC重新编译 
numlua.o:无法读取符号:坏值
collect2:ld返回1退出状态
cp:无法打开'numlua.so':没有这样的文件或目录 

我猜我需要添加-fPIC参数作为标志,但不太擅长编译器,而且第一次尝试luaRocks,我不确定在哪里添加这个,或者我做错了什么。任何帮助将不胜感激!

原文链接 https://stackoverflow.com/questions/9136229

点赞
stackoverflow用户29145
stackoverflow用户29145

根据 这个邮件列表讨论,看起来LuaRocks在64位系统上实际运行时配置为32位系统。很可能您是通过软件包管理器安装的,因为从源代码安装时不应该出现这种情况。

找到 luarocks/config.lua 文件。 在我的Ubuntu 11.10系统中,它位于 /usr/share/lua/5.1/luarocks/config.lua。 找到一行写着 LUAROCKS_UNAME_M 的代码,并将 i686 改为 x86_64

现在 luaroocks 知道它在64位机器上,numlua应该可以正常编译了。

2012-02-19 00:41:24