3

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を初めて使用する場合は、これを追加する方法や場所がわかりません。他に何かある場合は、間違ったことをしている。どんな助けでもいただければ幸いです!

4

1 に答える 1

4

このメーリング リストのディスカッションによると、 LuaRocksは 32 ビット システム用に構成されているようですが、実際には 64 ビット システムで実行されているようです。ソースからインストールした場合、これは発生しないはずなので、パッケージ マネージャー経由でインストールした可能性があります。

ファイルを見つけますluarocks/config.lua。私の Ubuntu 11.10 システムでは、/usr/share/lua/5.1/luarocks/config.lua. という行を見つけて、LUAROCKS_UNAME_Mに変更i686x86_64ます。

luarocks が 64 ビット マシン上にあることを認識したので、numlua は正常にコンパイルされるはずです。

于 2012-02-19T00:41:24.300 に答える