Ошибка LuaRocks fPIC - PullRequest
       10

Ошибка LuaRocks fPIC

3 голосов
/ 04 февраля 2012

Я пытаюсь установить numlua с 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. Я не уверен, как или где это добавить, или, если есть что-то еще, я делаю неправильно.Любая помощь будет оценена!

1 Ответ

4 голосов
/ 19 февраля 2012

Per это обсуждение списка рассылки , похоже, что 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 должна скомпилироваться нормально.

...