使用luarocks安装fblualib

我在尝试安装fblualib时遇到了以下问题,我无法找到解决方法。

我执行了以下命令:

git clone https://github.com/facebook/fblualib.git
cd fblualib/fblualib/python
luarocks make rockspec/*

并获得以下输出:非常感谢任何帮助,因为我真的卡在这个错误中。

        cmake -E make_directory build &&
        cd build &&
        cmake -DROCKS_PREFIX=/home/ubuntu/usr/local/torch/install/lib/luarocks/rocks/fbpython/0.1-1 \
              -DROCKS_LUADIR=/home/ubuntu/usr/local/torch/install/lib/luarocks/rocks/fbpython/0.1-1/lua \
              -DROCKS_LIBDIR=/home/ubuntu/usr/local/torch/install/lib/luarocks/rocks/fbpython/0.1-1/lib \
              .. &&
        make

-- 在/home/ubuntu/usr/local/torch/install中找到Torch7
-- Boost版本:1.58.0
-- 找到了以下Boost库:
--   thread
--   chrono
--   system
--   date_time
--   atomic
-- 找到PythonInterp:/usr/local/bin/python2.7(找到了适合版本“2.7.14”,最低要求是“2.7”)
-- 找到PythonInterp:/usr/local/bin/python2.7(找到版本“2.7.14”)
-- 配置完成
-- 生成完成
--构建文件已写入:/home/ubuntu/usr/src/fblualib/fblualib/python/build
[11%]链接CXX共享模块lib.so
/usr/bin/ld:/usr/local/lib/libpython2.7.a(abstract.o):重定位R_X86_64_32S对'_Py_NotImplementedStruct'无法在制作共享对象时使用;重新编译使用-fPIC
/usr/local/lib/libpython2.7.a:添加符号时出错:坏值
Collect2:error:ld返回1个退出状态
CMakeFiles/lua_module.dir/build.make:283:目标'lib.so'失败的原因
make[2]:*** [lib.so] Error 1
CMakeFiles/Makefile2:67:目标'CMakeFiles/lua_module.dir/all'失败的原因
make[1]:*** [CMakeFiles/lua_module.dir/all] Error 2
Makefile:138:目标'all'失败的原因
make:*** [all] Error 2
点赞
用户2836115
用户2836115

所以基本上我发现了这个问题,只需要在编译 Python 时添加 --enable-shared 就能解决。所以我重新编译了 Python,然后它顺利工作了。希望对其他人有所帮助,并避免他们浪费同样的时间。

2018-03-02 18:46:48