2012-02-03 8 views
3

Я пытаюсь установить numlua с luarocks:LuaRocks ППИЦ ошибка

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

В отношении 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 должен скомпилировать штраф.

+0

безупречный! Спасибо!! – akobre01

+0

В идеале пользователи дистрибутивов, которые отправляют LuaRocks неправильно сконфигурированы таким образом, должны публиковать отчеты об ошибках на своих дистрибутивах по выбору. Это поможет всем нам! –