如何在没有sudo的情况下构建库?

我通常建立我的库./configure&&制造&& sudo make install.然而Travis docs不鼓励使用sudo
http://docs.travis-ci.com/user/workers/container-based-infrastructure/

所以我将构建命令更改为./configure –prefix = $HOME&&制造&& make install.这很有效,但是在下一步(构建Python扩展)时,我收到了一个错误

/usr/bin/ld: cannot find -lprimesieve

有任何想法吗?我是否需要将$HOME / lib添加到某些环境变量中,因为我更改了前缀?

>我的travis配置https://github.com/hickford/primesieve-python/blob/travis-ci/.travis.yml
>构建日志,错误https://travis-ci.org/hickford/primesieve-python/jobs/69536543#L382

最佳答案 尝试设置set LD_LIBRARY_PATH,就像库的PATH一样.例如:

LD_LIBRARY_PATH= $HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH 

有关库路径变量的更多详细信息是here.

特别影响配置脚本如何将参数传递给编译的环境变量是LIBS和LD_FLAGS. bash ./configure –help提到这些.

正如您在评论中提到的那样,LIBRARY_PATH也需要设置.有关差异的解释,请参见LD_LIBRARY_PATH vs LIBRARY_PATH.

点赞